lxml changelog
==============
+3.6.1 (2016-07-24)
+==================
+
+Features added
+--------------
+
+* GH#180: Separate option ``inline_style`` for Cleaner that only removes ``style``
+ attributes instead of all styles. Patch by Christian Pedersen.
+
+* GH#196: Windows build support for Python 3.5. Contribution by Maximilian Hils.
+
+Bugs fixed
+----------
+
+* GH#199: Exclude ``file`` fields from ``FormElement.form_values`` (as browsers do).
+ Patch by Tomas Divis.
+
+* GH#198, LP#1568167: Try to provide base URL from ``Resolver.resolve_string()``.
+ Patch by Michael van Tellingen.
+
+* GH#191: More accurate float serialisation in ``objectify.FloatElement``.
+ Patch by Holger Joukl.
+
+* LP#1551797: Repair XSLT error logging. Patch by Marcus Brinkmann.
+
+
3.6.0 (2016-03-17)
==================
-* GH#189: Static builds honour FTP proxy configurations when downloading
- the external libs. Patch by Youhei Sakurai.
+Features added
+--------------
* GH#187: Now supports (only) version 5.x and later of PyPy.
Patch by Armin Rigo.
+* GH#181: Direct support for ``.rnc`` files in `RelaxNG()` if ``rnc2rng``
+ is installed. Patch by Dirkjan Ochtman.
+
+Bugs fixed
+----------
+
+* GH#189: Static builds honour FTP proxy configurations when downloading
+ the external libs. Patch by Youhei Sakurai.
+
* GH#186: Soupparser failed to process entities in Python 3.x.
Patch by Duncan Morris.
-* GH#185: Rare encoding related `TypeError` on import was fixed.
+* GH#185: Rare encoding related ``TypeError`` on import was fixed.
Patch by Petr Demin.
-* GH#181: Direct support for `.rnc` files in `RelaxNG()` if `rnc2rng`
- is installed. Patch by Dirkjan Ochtman.
-
3.5.0 (2015-11-13)
==================
If you are not using macports or want to use a more recent lxml
release, you have to build it yourself. While the pre-installed system
libraries of libxml2 and libxslt are less outdated in recent MacOS-X
-versions than they used to be, so lxml should work them them out of the
+versions than they used to be, so lxml should work with them out of the
box, it is still recommended to use a static build with the most recent
library versions.
Metadata-Version: 1.1
Name: lxml
-Version: 3.6.0
+Version: 3.6.1
Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
Home-page: http://lxml.de/
Author: lxml dev team
as soon as a maintenance branch has been established. Note that this
requires Cython to be installed at an appropriate version for the build.
- 3.6.0 (2016-03-17)
+ 3.6.1 (2016-07-24)
==================
- * GH#189: Static builds honour FTP proxy configurations when downloading
- the external libs. Patch by Youhei Sakurai.
+ Features added
+ --------------
- * GH#187: Now supports (only) version 5.x and later of PyPy.
- Patch by Armin Rigo.
+ * GH#180: Separate option ``inline_style`` for Cleaner that only removes ``style``
+ attributes instead of all styles. Patch by Christian Pedersen.
- * GH#186: Soupparser failed to process entities in Python 3.x.
- Patch by Duncan Morris.
+ * GH#196: Windows build support for Python 3.5. Contribution by Maximilian Hils.
- * GH#185: Rare encoding related `TypeError` on import was fixed.
- Patch by Petr Demin.
+ Bugs fixed
+ ----------
- * GH#181: Direct support for `.rnc` files in `RelaxNG()` if `rnc2rng`
- is installed. Patch by Dirkjan Ochtman.
+ * GH#199: Exclude ``file`` fields from ``FormElement.form_values`` (as browsers do).
+ Patch by Tomas Divis.
+
+ * GH#198, LP#1568167: Try to provide base URL from ``Resolver.resolve_string()``.
+ Patch by Michael van Tellingen.
+
+ * GH#191: More accurate float serialisation in ``objectify.FloatElement``.
+ Patch by Holger Joukl.
+
+ * LP#1551797: Repair XSLT error logging. Patch by Marcus Brinkmann.
# use pre-built libraries on Windows
def download_and_extract_zlatkovic_binaries(destdir):
- url = 'ftp://ftp.zlatkovic.com/pub/libxml/'
- libs = dict(
- libxml2 = None,
- libxslt = None,
- zlib = None,
- iconv = None,
- )
- for fn in ftp_listdir(url):
- for libname in libs:
- if fn.startswith(libname):
- assert libs[libname] is None, 'duplicate listings?'
- assert fn.endswith('.win32.zip')
- libs[libname] = fn
+ if sys.version_info < (3, 5):
+ url = 'ftp://ftp.zlatkovic.com/pub/libxml/'
+ libs = dict(
+ libxml2 = None,
+ libxslt = None,
+ zlib = None,
+ iconv = None,
+ )
+ for fn in ftp_listdir(url):
+ for libname in libs:
+ if fn.startswith(libname):
+ assert libs[libname] is None, 'duplicate listings?'
+ assert fn.endswith('.win32.zip')
+ libs[libname] = fn
+ else:
+ url = "https://github.com/mhils/libxml2-win-binaries/releases/download/lxml/"
+ libs = dict(
+ libxml2 = "libxml2-latest.win32.zip",
+ libxslt = "libxslt-latest.win32.zip",
+ zlib = "zlib-latest.win32.zip",
+ iconv = "iconv-latest.win32.zip",
+ )
if not os.path.exists(destdir): os.makedirs(destdir)
for libname, libfn in libs.items():
for line in s.splitlines():
if not line.startswith('d'):
# -rw-r--r-- 1 ftp ftp 476 Sep 1 2011 md5sum.txt
- # Last (9th) element is 'md5sum.txt' in the above example.
- yield line.split(None, 9)[-1]
+ # Last (9th) element is 'md5sum.txt' in the above example, but there
+ # may be variations, so we discard only the first 8 entries.
+ yield line.split(None, 8)[-1]
def parse_html_ftplist(s):
re_href = re.compile(r'<a\s+(?:[^>]*?\s+)?href=["\'](.*?)[;\?"\']', re.I|re.M)
def download_libxml2(dest_dir, version=None):
"""Downloads libxml2, returning the filename where the library was downloaded"""
- version_re = re.compile(r'^LATEST_LIBXML2_IS_(.*)$')
+ version_re = re.compile(r'LATEST_LIBXML2_IS_([0-9.]+[0-9])')
filename = 'libxml2-%s.tar.gz'
return download_library(dest_dir, LIBXML2_LOCATION, 'libxml2',
version_re, filename, version=version)
def download_libxslt(dest_dir, version=None):
"""Downloads libxslt, returning the filename where the library was downloaded"""
- version_re = re.compile(r'^LATEST_LIBXSLT_IS_(.*)$')
+ version_re = re.compile(r'LATEST_LIBXSLT_IS_([0-9.]+[0-9])')
filename = 'libxslt-%s.tar.gz'
return download_library(dest_dir, LIBXML2_LOCATION, 'libxslt',
version_re, filename, version=version)
a secure HTTP proxy
* `lwebstring <http://pypi.python.org/pypi/lwebstring>`_,
an XML template engine
-* `openpyxl <https://openpyxl.readthedocs.org/>`_,
+* `openpyxl <https://openpyxl.readthedocs.io/>`_,
a library to read/write MS Excel 2007 files
* `OpenXMLlib <http://permalink.gmane.org/gmane.comp.python.lxml.devel/3250>`_,
a library for handling OpenXML document meta data
.. _pip: http://pypi.python.org/pypi/pip
.. _Cython: http://cython.org
-.. _wheel: http://wheel.readthedocs.org/en/latest/
+.. _wheel: https://wheel.readthedocs.io/en/latest/
The lxml.etree and lxml.objectify modules are written in Cython_.
Since we distribute the Cython-generated .c files with lxml releases,
increase the debian version number so apt/dpkg won't get confused
* run ``dpkg-buildpackage -rfakeroot -us -uc`` to build the package
-In case ``dpkg-buildpackage`` tells you that some dependecies are missing, you
+In case ``dpkg-buildpackage`` tells you that some dependencies are missing, you
can either install them manually or run ``apt-get build-dep lxml``.
That will give you .deb packages in the parent directory which can be
>>> print(e('l:function1(string(b))'))
1Haegar
-The optional second argument to ``Extension`` can either be be a
+The optional second argument to ``Extension`` can either be a
sequence of names to select from the module, a dictionary that
explicitly maps function names to their XPath alter-ego or ``None``
(explicitly passed) to take all available functions under their
<meta content="Frequently Asked Questions about lxml (FAQ)" name="description" />
<meta content="lxml, lxml.etree, FAQ, frequently asked questions" name="keywords" />
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="lxml-faq-frequently-asked-questions">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu current" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">lxml FAQ - Frequently Asked Questions</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu current" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">lxml FAQ - Frequently Asked Questions</h1>
<p>Frequently asked questions on lxml. See also the notes on <a class="reference external" href="compatibility.html">compatibility</a> to
<a class="reference external" href="http://effbot.org/zone/element-index.htm">ElementTree</a>.</p>
a secure HTTP proxy</li>
<li><a class="reference external" href="http://pypi.python.org/pypi/lwebstring">lwebstring</a>,
an XML template engine</li>
-<li><a class="reference external" href="https://openpyxl.readthedocs.org/">openpyxl</a>,
+<li><a class="reference external" href="https://openpyxl.readthedocs.io/">openpyxl</a>,
a library to read/write MS Excel 2007 files</li>
<li><a class="reference external" href="http://permalink.gmane.org/gmane.comp.python.lxml.devel/3250">OpenXMLlib</a>,
a library for handling OpenXML document meta data</li>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>APIs specific to lxml.etree</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="apis-specific-to-lxml-etree">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu current" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">APIs specific to lxml.etree</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu current" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">APIs specific to lxml.etree</h1>
<p>lxml.etree tries to follow established APIs wherever possible. Sometimes,
however, the need to expose a feature in an easy way led to the invention of a
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
lxml.html.clean.Cleaner.__call__ lxml.html.clean.Cleaner-class.html#__call__
lxml.html.clean.Cleaner.remove_tags lxml.html.clean.Cleaner-class.html#remove_tags
lxml.html.clean.Cleaner._kill_elements lxml.html.clean.Cleaner-class.html#_kill_elements
+lxml.html.clean.Cleaner.inline_style lxml.html.clean.Cleaner-class.html#inline_style
lxml.html.clean.Cleaner._has_sneaky_javascript lxml.html.clean.Cleaner-class.html#_has_sneaky_javascript
lxml.html.clean.Cleaner.processing_instructions lxml.html.clean.Cleaner-class.html#processing_instructions
lxml.html.clean.Cleaner.javascript lxml.html.clean.Cleaner-class.html#javascript
lxml.tests.test_objectify.ObjectifyTestCase.etree lxml.etree-module.html
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_nsmap_custom_prefixes lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_custom_prefixes
lxml.tests.test_objectify.ObjectifyTestCase.test_xsitype_deannotate lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsitype_deannotate
+lxml.tests.test_objectify.ObjectifyTestCase.test_object_path_default_relative lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_relative
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_nsmap_custom lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_custom
lxml.tests.test_objectify.ObjectifyTestCase.test_type_str_as_complex lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_as_complex
lxml.tests.test_objectify.ObjectifyTestCase.test_object_path_fail_parse_empty lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty
lxml.tests.test_objectify.ObjectifyTestCase.test_object_path_set_create_list lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_list
lxml.tests.test_objectify.ObjectifyTestCase.test_date_element_efactory_text lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_date_element_efactory_text
lxml.tests.test_objectify.ObjectifyTestCase.test_root lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_root
+lxml.tests.test_objectify.ObjectifyTestCase.test_type_float_precision lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_precision
lxml.tests.test_objectify.ObjectifyTestCase.test_setslice_empty lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_empty
lxml.tests.test_objectify.ObjectifyTestCase.test_type_str_as_int lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_as_int
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_ustr_floatliteral lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_ustr_floatliteral
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_nsmap_default lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_default
lxml.tests.test_objectify.ObjectifyTestCase.test_dataelement_xsi_nsmap lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_nsmap
lxml.tests.test_objectify.ObjectifyTestCase.test_efactory_subtype lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_subtype
-lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_data_element_arg_pytype_xsitype lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg_pytype_xsitype
+lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_float_hash_repr lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_float_hash_repr
lxml.tests.test_objectify.ObjectifyTestCase.test_setslice_elements lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_elements
lxml.tests.test_objectify.ObjectifyTestCase.test_type_str_mod lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mod
lxml.tests.test_objectify.ObjectifyTestCase.test_child_index lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_index
lxml.tests.test_objectify.ObjectifyTestCase.test_getslice_partial_neg lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_getslice_partial_neg
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_element_arg lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_element_arg
lxml.tests.test_objectify.ObjectifyTestCase.test_type_none_cmp lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_none_cmp
+lxml.tests.test_objectify.ObjectifyTestCase.test_type_float_instantiation_precision lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_instantiation_precision
lxml.tests.test_objectify.ObjectifyTestCase.test_child_len lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_len
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_pytype_none lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none
+lxml.tests.test_objectify.ObjectifyTestCase.test_type_str_mod_data_elements lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mod_data_elements
lxml.tests.test_objectify.ObjectifyTestCase.test_setslice_insert lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_insert
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_nsmap_empty lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_empty
lxml.tests.test_objectify.ObjectifyTestCase.test_schema_types_prefixed lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types_prefixed
lxml.tests.test_objectify.ObjectifyTestCase.test_object_path_dot_root lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root
lxml.tests.test_objectify.ObjectifyTestCase.test_object_path_hasattr lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_hasattr
lxml.tests.test_objectify.ObjectifyTestCase.test_XML_base_url_docinfo lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_XML_base_url_docinfo
-lxml.tests.test_objectify.ObjectifyTestCase.test_object_path_default_relative lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_relative
+lxml.tests.test_objectify.ObjectifyTestCase.test_type_float_precision_consistency lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_precision_consistency
lxml.tests.test_objectify.ObjectifyTestCase.test_xsiannotate_use_old lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsiannotate_use_old
lxml.tests.common_imports.HelperTestCase.parse lxml.tests.common_imports.HelperTestCase-class.html#parse
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_pytype_none_compat lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none_compat
lxml.tests.test_objectify.ObjectifyTestCase.test_type_str_floatliteral lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_floatliteral
lxml.tests.test_objectify.ObjectifyTestCase.test_parse_base_url_docinfo lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_parse_base_url_docinfo
lxml.tests.test_objectify.ObjectifyTestCase.test_element_nsmap_custom lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_custom
+lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_float_precision lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_float_precision
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_bool lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_bool
lxml.tests.test_objectify.ObjectifyTestCase.test_setslice_insert_neg lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_insert_neg
lxml.tests.test_objectify.ObjectifyTestCase.test_efactory_value_concatenation lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_value_concatenation
lxml.tests.test_objectify.ObjectifyTestCase.test_pytype_deannotate lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_deannotate
lxml.tests.test_objectify.ObjectifyTestCase.test_setslice_partial_neg lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial_neg
lxml.tests.test_objectify.ObjectifyTestCase.test_efactory_int lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_int
-lxml.tests.test_objectify.ObjectifyTestCase.test_type_str_mod_data_elements lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mod_data_elements
+lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_data_element_arg_pytype_xsitype lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg_pytype_xsitype
lxml.tests.test_objectify.ObjectifyTestCase.test_data_element_invalid_pytype lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_invalid_pytype
lxml.tests.test_objectify.ObjectifyTestCase.test_setattr_nonunicode lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setattr_nonunicode
lxml.tests.test_objectify.ObjectifyTestCase.test_sub_element_nsmap_empty lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_empty
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_shortcut lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_shortcut
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_document_parse_allow lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_allow
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_message lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message
-lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_invalid_stylesheet lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_invalid_stylesheet
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_unicode lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_message_terminate lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message_terminate
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_input lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_document_error lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_error
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_empty lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_empty
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_parameter_missing lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_missing
+lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_invalid_stylesheet lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_invalid_stylesheet
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_encoding_override lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding_override
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_include_from_filelike lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include_from_filelike
lxml.tests.test_xslt.ETreeXSLTTestCase.test_xslt_elementtree_error lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_elementtree_error
<em class="summary">PyType(self, name, type_check, type_class, stringify=None)
User defined type.</em>
</li>
+ <li> <strong class="uidlink"><a href="xml.etree.ElementTree.QName-class.html">xml.etree.ElementTree.QName</a></strong>
+ </li>
<li> <strong class="uidlink"><a href="lxml.etree.QName-class.html">lxml.etree.QName</a></strong>:
<em class="summary">QName(text_or_uri_or_element, tag=None)</em>
</li>
- <li> <strong class="uidlink"><a href="xml.etree.ElementTree.QName-class.html">xml.etree.ElementTree.QName</a></strong>
- </li>
<li> <strong class="uidlink"><a href="lxml.etree.RelaxNGErrorTypes-class.html">lxml.etree.RelaxNGErrorTypes</a></strong>:
<em class="summary">Libxml2 RelaxNG error types</em>
</li>
<li> <strong class="uidlink"><a href="lxml.etree._FeedParser-class.html" onclick="show_private();">lxml.etree._FeedParser</a></strong>
<ul>
<li> <strong class="uidlink"><a href="lxml.etree.HTMLParser-class.html">lxml.etree.HTMLParser</a></strong>:
- <em class="summary">HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, XMLSchema schema=None, recover=True, compact=True)</em>
+ <em class="summary">HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, schema: XMLSchema =None, recover=True, compact=True)</em>
<ul>
<li> <strong class="uidlink"><a href="lxml.html.HTMLParser-class.html">lxml.html.HTMLParser</a></strong>:
<em class="summary">An HTML parser that is configured to return lxml.html Element
</ul>
</li>
<li> <strong class="uidlink"><a href="lxml.etree.XMLParser-class.html">lxml.etree.XMLParser</a></strong>:
- <em class="summary">XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, XMLSchema schema=None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)</em>
+ <em class="summary">XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema: XMLSchema =None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)</em>
<ul>
<li> <strong class="uidlink"><a href="lxml.etree.ETCompatXMLParser-class.html">lxml.etree.ETCompatXMLParser</a></strong>:
<em class="summary">ETCompatXMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema=None, huge_tree=False, remove_blank_text=False, resolve_entities=True, remove_comments=True, remove_pis=True, strip_cdata=True, target=None, compact=True)</em>
<em class="summary">RelaxNG(self, etree=None, file=None)
Turn a document into a Relax NG validator.</em>
</li>
- <li> <strong class="uidlink"><a href="lxml.isoschematron.Schematron-class.html">lxml.isoschematron.Schematron</a></strong>:
- <em class="summary">An ISO Schematron validator.</em>
- </li>
<li> <strong class="uidlink"><a href="lxml.etree.Schematron-class.html">lxml.etree.Schematron</a></strong>:
<em class="summary">Schematron(self, etree=None, file=None)
A Schematron validator.</em>
</li>
+ <li> <strong class="uidlink"><a href="lxml.isoschematron.Schematron-class.html">lxml.isoschematron.Schematron</a></strong>:
+ <em class="summary">An ISO Schematron validator.</em>
+ </li>
<li> <strong class="uidlink"><a href="lxml.etree.XMLSchema-class.html">lxml.etree.XMLSchema</a></strong>:
<em class="summary">XMLSchema(self, etree=None, file=None)
Turn a document into an XML Schema validator.</em>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ECONNREFUSED">IO_ECONNREFUSED</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_WRITE">IO_WRITE</a><br />
-<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ElementUnicodeResult-class.html#is_attribute">is_attribute</a><br />
+<span class="index-where">(in <a href="lxml.etree._ElementUnicodeResult-class.html" onclick="show_private();">_ElementUnicodeResult</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#I18N">I18N</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EDEADLK">IO_EDEADLK</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ElementUnicodeResult-class.html#is_attribute">is_attribute</a><br />
-<span class="index-where">(in <a href="lxml.etree._ElementUnicodeResult-class.html" onclick="show_private();">_ElementUnicodeResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#is_end_tag">is_end_tag()</a><br />
+<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#I18N_CONV_FAILED">I18N_CONV_FAILED</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EDOM">IO_EDOM</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#is_end_tag">is_end_tag()</a><br />
-<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#IS_PYPY">IS_PYPY</a><br />
+<span class="index-where">(in <a href="lxml.tests.common_imports-module.html">lxml.tests.common_imports</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#I18N_EXCESS_HANDLER">I18N_EXCESS_HANDLER</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EEXIST">IO_EEXIST</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#IS_PYPY">IS_PYPY</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#IS_PYTHON3">IS_PYTHON3</a><br />
<span class="index-where">(in <a href="lxml.tests.common_imports-module.html">lxml.tests.common_imports</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EFAULT">IO_EFAULT</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#IS_PYTHON3">IS_PYTHON3</a><br />
-<span class="index-where">(in <a href="lxml.tests.common_imports-module.html">lxml.tests.common_imports</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt-module.html#is_python3">is_python3</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xslt-module.html">lxml.tests.test_xslt</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#I18N_NO_NAME">I18N_NO_NAME</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EFBIG">IO_EFBIG</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt-module.html#is_python3">is_python3</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xslt-module.html">lxml.tests.test_xslt</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#is_start_tag">is_start_tag()</a><br />
+<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#I18N_NO_OUTPUT">I18N_NO_OUTPUT</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EINPROGRESS">IO_EINPROGRESS</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#is_start_tag">is_start_tag()</a><br />
-<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ElementUnicodeResult-class.html#is_tail">is_tail</a><br />
+<span class="index-where">(in <a href="lxml.etree._ElementUnicodeResult-class.html" onclick="show_private();">_ElementUnicodeResult</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#IFRAME">IFRAME</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EINTR">IO_EINTR</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ElementUnicodeResult-class.html#is_tail">is_tail</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree._ElementUnicodeResult-class.html#is_text">is_text</a><br />
<span class="index-where">(in <a href="lxml.etree._ElementUnicodeResult-class.html" onclick="show_private();">_ElementUnicodeResult</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EINVAL">IO_EINVAL</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ElementUnicodeResult-class.html#is_text">is_text</a><br />
-<span class="index-where">(in <a href="lxml.etree._ElementUnicodeResult-class.html" onclick="show_private();">_ElementUnicodeResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#is_word">is_word()</a><br />
+<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.ElementInclude-module.html#include">include()</a><br />
<span class="index-where">(in <a href="lxml.ElementInclude-module.html">lxml.ElementInclude</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EIO">IO_EIO</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#is_word">is_word()</a><br />
-<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#iselement">iselement()</a><br />
+<span class="index-where">(in <a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeXIncludeTestCase-class.html#include">include()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeXIncludeTestCase-class.html">ETreeXIncludeTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EISCONN">IO_EISCONN</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree-module.html#iselement">iselement()</a><br />
-<span class="index-where">(in <a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#ISINDEX">ISINDEX</a><br />
+<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ElementIncludeTestCase-class.html#include">include()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ElementIncludeTestCase-class.html">ElementIncludeTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EISDIR">IO_EISDIR</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#ISINDEX">ISINDEX</a><br />
-<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#iso_abstract_expand">iso_abstract_expand</a><br />
+<span class="index-where">(in <a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.includes-module.html">includes</a><br />
<span class="index-where">(in <a href="lxml-module.html">lxml</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EMFILE">IO_EMFILE</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#iso_abstract_expand">iso_abstract_expand</a><br />
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#iso_dsdl_include">iso_dsdl_include</a><br />
<span class="index-where">(in <a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_doctestcompare-module.html">lxml.tests.test_doctestcompare</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EMLINK">IO_EMLINK</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#iso_dsdl_include">iso_dsdl_include</a><br />
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#iso_svrl_for_xslt1">iso_svrl_for_xslt1</a><br />
<span class="index-where">(in <a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EMSGSIZE">IO_EMSGSIZE</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#iso_svrl_for_xslt1">iso_svrl_for_xslt1</a><br />
-<span class="index-where">(in <a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#INPUT">INPUT</a><br />
-<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENAMETOOLONG">IO_ENAMETOOLONG</a><br />
-<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html">isoschematron</a><br />
<span class="index-where">(in <a href="lxml-module.html">lxml</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html">InputElement</a></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENCODER">IO_ENCODER</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#inline_style">inline_style</a><br />
+<span class="index-where">(in <a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENAMETOOLONG">IO_ENAMETOOLONG</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html#item_count">item_count</a><br />
<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html">ThreadPipelineTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.InputGetter-class.html">InputGetter</a></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENETUNREACH">IO_ENETUNREACH</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#INPUT">INPUT</a><br />
+<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENCODER">IO_ENCODER</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#items">items()</a><br />
<span class="index-where">(in <a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html">InputMixin</a></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENFILE">IO_ENFILE</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html">InputElement</a></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENETUNREACH">IO_ENETUNREACH</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#items">items()</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#inputs">inputs</a><br />
-<span class="index-where">(in <a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENODEV">IO_ENODEV</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.InputGetter-class.html">InputGetter</a></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENFILE">IO_ENFILE</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html#items">items()</a><br />
<span class="index-where">(in <a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#INS">INS</a><br />
-<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOENT">IO_ENOENT</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html">InputMixin</a></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENODEV">IO_ENODEV</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#iter">iter()</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.diff.InsensitiveSequenceMatcher-class.html">InsensitiveSequenceMatcher</a><br />
-<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOEXEC">IO_ENOEXEC</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#inputs">inputs</a><br />
+<span class="index-where">(in <a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOENT">IO_ENOENT</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._ElementTree-class.html#iter">iter()</a><br />
<span class="index-where">(in <a href="lxml.etree._ElementTree-class.html" onclick="show_private();">_ElementTree</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#insert">insert()</a><br />
-<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOLCK">IO_ENOLCK</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#INS">INS</a><br />
+<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOEXEC">IO_ENOEXEC</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#iterancestors">iterancestors()</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.formfill.DefaultErrorCreator-class.html#insert_before">insert_before</a><br />
-<span class="index-where">(in <a href="lxml.html.formfill.DefaultErrorCreator-class.html">DefaultErrorCreator</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOMEM">IO_ENOMEM</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.diff.InsensitiveSequenceMatcher-class.html">InsensitiveSequenceMatcher</a><br />
+<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOLCK">IO_ENOLCK</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.selftest-module.html#iterators">iterators()</a><br />
<span class="index-where">(in <a href="lxml.tests.selftest-module.html">lxml.tests.selftest</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#insert_errors">insert_errors()</a><br />
-<span class="index-where">(in <a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOSPC">IO_ENOSPC</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#insert">insert()</a><br />
+<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOMEM">IO_ENOMEM</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#iterchildren">iterchildren()</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#insert_errors_html">insert_errors_html()</a><br />
-<span class="index-where">(in <a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOSYS">IO_ENOSYS</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.formfill.DefaultErrorCreator-class.html#insert_before">insert_before</a><br />
+<span class="index-where">(in <a href="lxml.html.formfill.DefaultErrorCreator-class.html">DefaultErrorCreator</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOSPC">IO_ENOSPC</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#iterdescendants">iterdescendants()</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#install">install()</a><br />
-<span class="index-where">(in <a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTDIR">IO_ENOTDIR</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#insert_errors">insert_errors()</a><br />
+<span class="index-where">(in <a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOSYS">IO_ENOSYS</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.DTD-class.html#iterelements">iterelements()</a><br />
<span class="index-where">(in <a href="lxml.etree.DTD-class.html">DTD</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare._RestoreChecker-class.html#install_clone">install_clone()</a><br />
-<span class="index-where">(in <a href="lxml.doctestcompare._RestoreChecker-class.html" onclick="show_private();">_RestoreChecker</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTEMPTY">IO_ENOTEMPTY</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#insert_errors_html">insert_errors_html()</a><br />
+<span class="index-where">(in <a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTDIR">IO_ENOTDIR</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.common_imports.LargeFileLike-class.html#iterelements">iterelements()</a><br />
<span class="index-where">(in <a href="lxml.tests.common_imports.LargeFileLike-class.html">LargeFileLike</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare._RestoreChecker-class.html#install_dt_self">install_dt_self()</a><br />
-<span class="index-where">(in <a href="lxml.doctestcompare._RestoreChecker-class.html" onclick="show_private();">_RestoreChecker</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTSOCK">IO_ENOTSOCK</a><br />
+<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#install">install()</a><br />
+<span class="index-where">(in <a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTEMPTY">IO_ENOTEMPTY</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.common_imports.LargeFileLikeUnicode-class.html#iterelements">iterelements()</a><br />
<span class="index-where">(in <a href="lxml.tests.common_imports.LargeFileLikeUnicode-class.html">LargeFileLikeUnicode</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.objectify.IntElement-class.html">IntElement</a><br />
-<span class="index-where">(in <a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTSUP">IO_ENOTSUP</a><br />
+<td width="33%" class="link-index"><a href="lxml.doctestcompare._RestoreChecker-class.html#install_clone">install_clone()</a><br />
+<span class="index-where">(in <a href="lxml.doctestcompare._RestoreChecker-class.html" onclick="show_private();">_RestoreChecker</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTSOCK">IO_ENOTSOCK</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.DTD-class.html#iterentities">iterentities()</a><br />
<span class="index-where">(in <a href="lxml.etree.DTD-class.html">DTD</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.selftest-module.html#interface">interface()</a><br />
-<span class="index-where">(in <a href="lxml.tests.selftest-module.html">lxml.tests.selftest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTTY">IO_ENOTTY</a><br />
+<td width="33%" class="link-index"><a href="lxml.doctestcompare._RestoreChecker-class.html#install_dt_self">install_dt_self()</a><br />
+<span class="index-where">(in <a href="lxml.doctestcompare._RestoreChecker-class.html" onclick="show_private();">_RestoreChecker</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTSUP">IO_ENOTSUP</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#iterfind">iterfind()</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.DocInfo-class.html#internalDTD">internalDTD</a><br />
-<span class="index-where">(in <a href="lxml.etree.DocInfo-class.html" onclick="show_private();">DocInfo</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENXIO">IO_ENXIO</a><br />
+<td width="33%" class="link-index"><a href="lxml.objectify.IntElement-class.html">IntElement</a><br />
+<span class="index-where">(in <a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENOTTY">IO_ENOTTY</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._ElementTree-class.html#iterfind">iterfind()</a><br />
<span class="index-where">(in <a href="lxml.etree._ElementTree-class.html" onclick="show_private();">_ElementTree</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode-module.html#invalid_tag">invalid_tag</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_unicode-module.html">lxml.tests.test_unicode</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EPERM">IO_EPERM</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.selftest-module.html#interface">interface()</a><br />
+<span class="index-where">(in <a href="lxml.tests.selftest-module.html">lxml.tests.selftest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ENXIO">IO_ENXIO</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#iteritems">iteritems()</a><br />
<span class="index-where">(in <a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#IO">IO</a><br />
-<span class="index-where">(in <a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EPIPE">IO_EPIPE</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.DocInfo-class.html#internalDTD">internalDTD</a><br />
+<span class="index-where">(in <a href="lxml.etree.DocInfo-class.html" onclick="show_private();">DocInfo</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EPERM">IO_EPERM</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html#iteritems">iteritems()</a><br />
<span class="index-where">(in <a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_BUFFER_FULL">IO_BUFFER_FULL</a><br />
-<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ERANGE">IO_ERANGE</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode-module.html#invalid_tag">invalid_tag</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_unicode-module.html">lxml.tests.test_unicode</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EPIPE">IO_EPIPE</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#iterkeys">iterkeys()</a><br />
<span class="index-where">(in <a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EACCES">IO_EACCES</a><br />
-<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EROFS">IO_EROFS</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#IO">IO</a><br />
+<span class="index-where">(in <a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ERANGE">IO_ERANGE</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html#iterkeys">iterkeys()</a><br />
<span class="index-where">(in <a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EADDRINUSE">IO_EADDRINUSE</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_BUFFER_FULL">IO_BUFFER_FULL</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ESPIPE">IO_ESPIPE</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EROFS">IO_EROFS</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html-module.html#iterlinks">iterlinks</a><br />
<span class="index-where">(in <a href="lxml.html-module.html">lxml.html</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EAFNOSUPPORT">IO_EAFNOSUPPORT</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EACCES">IO_EACCES</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ESRCH">IO_ESRCH</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ESPIPE">IO_ESPIPE</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.HtmlMixin-class.html#iterlinks">iterlinks()</a><br />
<span class="index-where">(in <a href="lxml.html.HtmlMixin-class.html">HtmlMixin</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EAGAIN">IO_EAGAIN</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EADDRINUSE">IO_EADDRINUSE</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ETIMEDOUT">IO_ETIMEDOUT</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ESRCH">IO_ESRCH</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.iterparse-class.html">iterparse</a><br />
<span class="index-where">(in <a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EALREADY">IO_EALREADY</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EAFNOSUPPORT">IO_EAFNOSUPPORT</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EXDEV">IO_EXDEV</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ETIMEDOUT">IO_ETIMEDOUT</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.selftest-module.html#iterparse">iterparse()</a><br />
<span class="index-where">(in <a href="lxml.tests.selftest-module.html">lxml.tests.selftest</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EBADF">IO_EBADF</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EAGAIN">IO_EAGAIN</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_FLUSH">IO_FLUSH</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EXDEV">IO_EXDEV</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#itersiblings">itersiblings()</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EBADMSG">IO_EBADMSG</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EALREADY">IO_EALREADY</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_LOAD_ERROR">IO_LOAD_ERROR</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_FLUSH">IO_FLUSH</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#itertext">itertext()</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EBUSY">IO_EBUSY</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EBADF">IO_EBADF</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_NETWORK_ATTEMPT">IO_NETWORK_ATTEMPT</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_LOAD_ERROR">IO_LOAD_ERROR</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#itervalues">itervalues()</a><br />
<span class="index-where">(in <a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ECANCELED">IO_ECANCELED</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EBADMSG">IO_EBADMSG</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_NO_INPUT">IO_NO_INPUT</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_NETWORK_ATTEMPT">IO_NETWORK_ATTEMPT</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html#itervalues">itervalues()</a><br />
<span class="index-where">(in <a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ECHILD">IO_ECHILD</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_EBUSY">IO_EBUSY</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_UNKNOWN">IO_UNKNOWN</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_NO_INPUT">IO_NO_INPUT</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.iterwalk-class.html">iterwalk</a><br />
<span class="index-where">(in <a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
</tr>
+<tr>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ECANCELED">IO_ECANCELED</a><br />
+<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_UNKNOWN">IO_UNKNOWN</a><br />
+<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_ECHILD">IO_ECHILD</a><br />
+<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#IO_WRITE">IO_WRITE</a><br />
+<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
</table>
</td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#test_flush">test_flush()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem">test_setitem()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setitem_assert">test_setitem_assert()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.html.defs-module.html#table_tags">table_tags</a><br />
<span class="index-where">(in <a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_flush">test_flush()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem2">test_setitem2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_indexerror">test_setitem_indexerror()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.etree._Comment-class.html" onclick="show_private();">_Comment</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_fromstring">test_fromstring()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setitem_assert">test_setitem_assert()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_replace">test_setitem_replace()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#tag">tag</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_fromstringlist">test_fromstringlist()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_indexerror">test_setitem_indexerror()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setitem_string">test_setitem_string()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree._Entity-class.html#tag">tag</a><br />
<span class="index-where">(in <a href="lxml.etree._Entity-class.html" onclick="show_private();">_Entity</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_fromstringlist_characters">test_fromstringlist_characters()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_replace">test_setitem_replace()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setitem_string_special">test_setitem_string_special()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree._ProcessingInstruction-class.html#tag">tag</a><br />
<span class="index-where">(in <a href="lxml.etree._ProcessingInstruction-class.html" onclick="show_private();">_ProcessingInstruction</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_fromstringlist_single">test_fromstringlist_single()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setitem_string">test_setitem_string()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_tail">test_setitem_tail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="xml.etree.ElementTree.Element-class.html#tag">tag</a><br />
<span class="index-where">(in <a href="xml.etree.ElementTree.Element-class.html">Element</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator">test_getiterator()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setitem_string_special">test_setitem_string_special()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice">test_setslice()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#tag">tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator-module.html">lxml.tests.test_xpathevaluator</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_empty">test_getiterator_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_tail">test_setitem_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all">test_setslice_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.doctestcompare.LXMLOutputChecker-class.html">LXMLOutputChecker</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter">test_getiterator_filter()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice">test_setslice()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_empty">test_setslice_all_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator-module.html">lxml.tests.test_xpathevaluator</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_all">test_getiterator_filter_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all">test_setslice_all()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_all_empty_reversed">test_setslice_all_empty_reversed()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.html.diff.tag_token-class.html">tag_token</a><br />
<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_all_comment_pi">test_getiterator_filter_all_comment_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_empty">test_setslice_all_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace">test_setslice_all_replace()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_comment">test_getiterator_filter_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_all_empty_reversed">test_setslice_all_empty_reversed()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed">test_setslice_all_replace_reversed()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#tail">tail</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_element">test_getiterator_filter_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace">test_setslice_all_replace()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed_ns1">test_setslice_all_replace_reversed_ns1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="xml.etree.ElementTree.Element-class.html">Element</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_entities">test_getiterator_filter_entities()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed">test_setslice_all_replace_reversed()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed_ns2">test_setslice_all_replace_reversed_ns2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.etree._ProcessingInstruction-class.html" onclick="show_private();">_ProcessingInstruction</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_local_name">test_getiterator_filter_local_name()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed_ns1">test_setslice_all_replace_reversed_ns1()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_complete">test_setslice_complete()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TBODY">TBODY</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_multiple">test_getiterator_filter_multiple()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed_ns2">test_setslice_all_replace_reversed_ns2()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_elements">test_setslice_elements()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TD">TD</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_multiple_tuple">test_getiterator_filter_multiple_tuple()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_complete">test_setslice_complete()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_empty">test_setslice_empty()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.common_imports.HelperTestCase-class.html#tearDown">tearDown()</a><br />
<span class="index-where">(in <a href="lxml.tests.common_imports.HelperTestCase-class.html">HelperTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_namespace">test_getiterator_filter_namespace()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_elements">test_setslice_elements()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_empty">test_setslice_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_pi">test_getiterator_filter_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_empty">test_setslice_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end">test_setslice_end()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_with_text">test_getiterator_filter_with_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_empty">test_setslice_empty()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact">test_setslice_end_exact()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#tearDown">tearDown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_with_text">test_getiterator_with_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end">test_setslice_end()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_insert">test_setslice_insert()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#tearDown">tearDown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getnext">test_getnext()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact">test_setslice_end_exact()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_insert_neg">test_setslice_insert_neg()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#tearDown">tearDown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getparent">test_getparent()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_insert">test_setslice_insert()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative">test_setslice_negative()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#tearDown">tearDown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getprevious">test_getprevious()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_insert_neg">test_setslice_insert_neg()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative2">test_setslice_negative2()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#tearDown">tearDown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getroottree">test_getroottree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative">test_setslice_negative()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial">test_setslice_partial()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#tearDown">tearDown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getslice">test_getslice()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative2">test_setslice_negative2()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial_allneg">test_setslice_partial_allneg()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#temp_install">temp_install()</a><br />
<span class="index-where">(in <a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_getslice_complete">test_getslice_complete()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial">test_setslice_partial()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial_neg">test_setslice_partial_neg()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile-module.html">lxml.tests.test_incremental_xmlfile</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getslice_negative">test_getslice_negative()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial_allneg">test_setslice_partial_allneg()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial_wrong_length">test_setslice_partial_wrong_length()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile-module.html">lxml.tests.test_incremental_xmlfile</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_getslice_partial">test_getslice_partial()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial_neg">test_setslice_partial_neg()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_single">test_setslice_single()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test__str">test__str()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_getslice_partial_neg">test_getslice_partial_neg()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setslice_partial_wrong_length">test_setslice_partial_wrong_length()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step">test_setslice_step()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_addattr">test_addattr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getslice_step">test_getslice_step()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_single">test_setslice_single()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_negative">test_setslice_step_negative()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_addattr_element">test_addattr_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getslice_text">test_getslice_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step">test_setslice_step()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_negative2">test_setslice_step_negative2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html5_doctype">test_html5_doctype()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_negative">test_setslice_step_negative()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_overrun">test_setslice_step_overrun()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_base">test_html_base()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_negative2">test_setslice_step_negative2()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_tail">test_setslice_tail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_comment">test_addnext_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_base_tag">test_html_base_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_overrun">test_setslice_step_overrun()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_shallowcopy">test_shallowcopy()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_cycle">test_addnext_cycle()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_HTML_base_url_docinfo">test_HTML_base_url_docinfo()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_tail">test_setslice_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_shallowcopy_elementtree">test_shallowcopy_elementtree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_html_decl">test_html_decl()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_shallowcopy">test_shallowcopy()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_simple">test_simple()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_element_name_colon">test_html_element_name_colon()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_shallowcopy_elementtree">test_shallowcopy_elementtree()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_simple_xml">test_simple_xml()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_pi">test_addnext_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_element_name_empty">test_html_element_name_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_simple">test_simple()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_simple_xml_with_ns">test_simple_xml_with_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root">test_addnext_root()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_element_name_quote">test_html_element_name_quote()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_simple_xml">test_simple_xml()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_element">test_sourceline_element()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root_comment">test_addnext_root_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_element_name_space">test_html_element_name_space()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_simple_xml_with_ns">test_simple_xml_with_ns()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_iterparse_end">test_sourceline_iterparse_end()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root_pi">test_addnext_root_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_feed_parser">test_html_feed_parser()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_element">test_sourceline_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_iterparse_start">test_sourceline_iterparse_start()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_feed_parser_chunky">test_html_feed_parser_chunky()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_iterparse_end">test_sourceline_iterparse_end()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_parse">test_sourceline_parse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_feed_parser_more_tags">test_html_feed_parser_more_tags()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_iterparse_start">test_sourceline_iterparse_start()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_XML">test_sourceline_XML()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_file_error">test_html_file_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_parse">test_sourceline_parse()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_standalone">test_standalone()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_fromstring_target_exceptions">test_html_fromstring_target_exceptions()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_XML">test_sourceline_XML()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_standard_lookup">test_standard_lookup()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_noops">test_addprevious_noops()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_iterparse">test_html_iterparse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_standalone">test_standalone()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_str">test_str()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_pi">test_addprevious_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_iterparse_broken">test_html_iterparse_broken()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_standard_lookup">test_standard_lookup()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_attributes">test_strip_attributes()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_root_comment">test_addprevious_root_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_iterparse_broken_no_recover">test_html_iterparse_broken_no_recover()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_str">test_str()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_attributes_ns">test_strip_attributes_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_root_pi">test_addprevious_root_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_iterparse_file">test_html_iterparse_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_attributes">test_strip_attributes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_elements">test_strip_elements()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_iterparse_start">test_html_iterparse_start()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_attributes_ns">test_strip_attributes_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_elements_ns">test_strip_elements_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_iterparse_stop_short">test_html_iterparse_stop_short()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_elements">test_strip_elements()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags">test_strip_tags()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_parser_target_doctype_empty">test_html_parser_target_doctype_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_elements_ns">test_strip_elements_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_and_remove">test_strip_tags_and_remove()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_parser_target_doctype_html">test_html_parser_target_doctype_html()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags">test_strip_tags()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_doc_style">test_strip_tags_doc_style()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_parser_target_doctype_html_full">test_html_parser_target_doctype_html_full()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_and_remove">test_strip_tags_and_remove()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_ns">test_strip_tags_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_parser_target_exceptions">test_html_parser_target_exceptions()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_doc_style">test_strip_tags_doc_style()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_pi_comment">test_strip_tags_pi_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_parser_target_tag">test_html_parser_target_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_ns">test_strip_tags_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_pi_comment_all">test_strip_tags_pi_comment_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_prefix_nsmap">test_html_prefix_nsmap()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_pi_comment">test_strip_tags_pi_comment()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_data_element_nsmap_custom">test_sub_data_element_nsmap_custom()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_deepcopy">test_attrib_deepcopy()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_subelement_name_colon">test_html_subelement_name_colon()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_pi_comment_all">test_strip_tags_pi_comment_all()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_data_element_nsmap_custom_prefixes">test_sub_data_element_nsmap_custom_prefixes()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_dict">test_attrib_dict()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_subelement_name_empty">test_html_subelement_name_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_data_element_nsmap_custom">test_sub_data_element_nsmap_custom()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_data_element_nsmap_default">test_sub_data_element_nsmap_default()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_subelement_name_quote">test_html_subelement_name_quote()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_data_element_nsmap_custom_prefixes">test_sub_data_element_nsmap_custom_prefixes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_data_element_nsmap_empty">test_sub_data_element_nsmap_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_html_subelement_name_space">test_html_subelement_name_space()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_data_element_nsmap_default">test_sub_data_element_nsmap_default()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_custom">test_sub_element_nsmap_custom()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser-module.html">test_htmlparser</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_data_element_nsmap_empty">test_sub_data_element_nsmap_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_custom_prefixes">test_sub_element_nsmap_custom_prefixes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html#test_http_client">test_http_client()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_custom">test_sub_element_nsmap_custom()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_default">test_sub_element_nsmap_default()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html#test_http_client_404">test_http_client_404()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_custom_prefixes">test_sub_element_nsmap_custom_prefixes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_empty">test_sub_element_nsmap_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html#test_http_client_gzip">test_http_client_gzip()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_default">test_sub_element_nsmap_default()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_subelement">test_subelement()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop_invalid_args">test_attrib_pop_invalid_args()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_http_io-module.html">test_http_io</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_sub_element_nsmap_empty">test_sub_element_nsmap_empty()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_attribute_invalid">test_subelement_attribute_invalid()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop_unknown">test_attrib_pop_unknown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_ietf_decl">test_ietf_decl()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_subelement">test_subelement()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_name_colon">test_subelement_name_colon()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_set_clear">test_attrib_set_clear()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_ietf_decl">test_ietf_decl()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_attribute_invalid">test_subelement_attribute_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_name_empty">test_subelement_name_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.EncodingsTestCase-class.html#test_illegal_utf8">test_illegal_utf8()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.EncodingsTestCase-class.html">EncodingsTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_name_colon">test_subelement_name_colon()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_name_quote">test_subelement_name_quote()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.EncodingsTestCase-class.html#test_illegal_utf8_recover">test_illegal_utf8_recover()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.EncodingsTestCase-class.html">EncodingsTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_name_empty">test_subelement_name_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_name_space">test_subelement_name_space()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_include_paths">test_include_paths()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_name_quote">test_subelement_name_quote()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_nsmap">test_subelement_nsmap()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile-module.html">test_incremental_xmlfile</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_name_space">test_subelement_name_space()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_subelement_reference">test_subelement_reference()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_attribute_extra_duplicate">test_attribute_extra_duplicate()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_index">test_index()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_nsmap">test_subelement_nsmap()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_subelement_with_attributes">test_subelement_with_attributes()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_gets_namespace_prefix_on_merge">test_attribute_gets_namespace_prefix_on_merge()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_insert">test_insert()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_subelement_reference">test_subelement_reference()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_subelement_with_attributes_ns">test_subelement_with_attributes_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_insert_beyond_index">test_insert_beyond_index()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_subelement_with_attributes">test_subelement_with_attributes()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_subtree_copy_thread">test_subtree_copy_thread()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_has_key">test_attribute_has_key()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_insert_negative">test_insert_negative()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_subelement_with_attributes_ns">test_subelement_with_attributes_ns()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_builder-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_builder-module.html">lxml.tests.test_builder</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_items">test_attribute_items()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_insert_tail">test_insert_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_subtree_copy_thread">test_subtree_copy_thread()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_classlookup-module.html">lxml.tests.test_classlookup</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_items2">test_attribute_items2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_internal_dtds">test_internal_dtds()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_builder-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_builder-module.html">lxml.tests.test_builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_css-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_css-module.html">lxml.tests.test_css</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_items_ns">test_attribute_items_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_invalid_decl_1">test_invalid_decl_1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_classlookup-module.html">lxml.tests.test_classlookup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_doctestcompare-module.html">lxml.tests.test_doctestcompare</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_iterator">test_attribute_iterator()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_invalid_decl_2">test_invalid_decl_2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_css-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_css-module.html">lxml.tests.test_css</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_dtd-module.html">lxml.tests.test_dtd</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_keeps_namespace_prefix_on_merge">test_attribute_keeps_namespace_prefix_on_merge()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io-module.html">test_io</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_doctestcompare-module.html">lxml.tests.test_doctestcompare</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementpath-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementpath-module.html">lxml.tests.test_elementpath</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_keeps_namespace_prefix_on_merge_with_nons">test_attribute_keeps_namespace_prefix_on_merge_with_nons()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iselement">test_iselement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_dtd-module.html">lxml.tests.test_dtd</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree-module.html">lxml.tests.test_elementtree</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_keys">test_attribute_keys()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron-module.html">test_isoschematron</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementpath-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementpath-module.html">lxml.tests.test_elementpath</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_errors-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_errors-module.html">lxml.tests.test_errors</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_keys2">test_attribute_keys2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iter">test_iter()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree-module.html">lxml.tests.test_elementtree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree-module.html">lxml.tests.test_etree</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_keys_ns">test_attribute_keys_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors">test_iterancestors()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_errors-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_errors-module.html">lxml.tests.test_errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_htmlparser-module.html">lxml.tests.test_htmlparser</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_manipulation">test_attribute_manipulation()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors_tag">test_iterancestors_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree-module.html">lxml.tests.test_etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_http_io-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_http_io-module.html">lxml.tests.test_http_io</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_namespace_roundtrip">test_attribute_namespace_roundtrip()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors_tag_multiple">test_iterancestors_tag_multiple()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_htmlparser-module.html">lxml.tests.test_htmlparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile-module.html">lxml.tests.test_incremental_xmlfile</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_namespace_roundtrip_replaced">test_attribute_namespace_roundtrip_replaced()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration">test_iteration()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_http_io-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_http_io-module.html">lxml.tests.test_http_io</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_io-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_io-module.html">lxml.tests.test_io</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_set">test_attribute_set()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_crash">test_iteration_crash()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile-module.html">lxml.tests.test_incremental_xmlfile</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_isoschematron-module.html">lxml.tests.test_isoschematron</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_set">test_attribute_set()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_del_child">test_iteration_del_child()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_io-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_io-module.html">lxml.tests.test_io</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_nsclasses-module.html">lxml.tests.test_nsclasses</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_set_invalid">test_attribute_set_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_double">test_iteration_double()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_isoschematron-module.html">lxml.tests.test_isoschematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify-module.html">lxml.tests.test_objectify</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_set_nonstring">test_attribute_set_nonstring()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_empty">test_iteration_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_nsclasses-module.html">lxml.tests.test_nsclasses</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup-module.html">lxml.tests.test_pyclasslookup</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_str">test_attribute_str()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_reversed">test_iteration_reversed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify-module.html">lxml.tests.test_objectify</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_relaxng-module.html">lxml.tests.test_relaxng</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_attrib">test_attribute_update_attrib()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_subelement">test_iteration_subelement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup-module.html">lxml.tests.test_pyclasslookup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_sax-module.html">lxml.tests.test_sax</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_dict">test_attribute_update_dict()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_text_only">test_iteration_text_only()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_relaxng-module.html">lxml.tests.test_relaxng</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_schematron-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_schematron-module.html">lxml.tests.test_schematron</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_iter">test_attribute_update_iter()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren">test_iterchildren()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_sax-module.html">lxml.tests.test_sax</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_threading-module.html">lxml.tests.test_threading</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_sequence">test_attribute_update_sequence()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_reversed">test_iterchildren_reversed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_schematron-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_schematron-module.html">lxml.tests.test_schematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_unicode-module.html">lxml.tests.test_unicode</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_values">test_attribute_values()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag">test_iterchildren_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_threading-module.html">lxml.tests.test_threading</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xmlschema-module.html">lxml.tests.test_xmlschema</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_values">test_attribute_values()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple">test_iterchildren_tag_multiple()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_unicode-module.html">lxml.tests.test_unicode</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator-module.html">lxml.tests.test_xpathevaluator</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_values_ns">test_attribute_values_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple_posarg">test_iterchildren_tag_multiple_posarg()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xmlschema-module.html">lxml.tests.test_xmlschema</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt-module.html#test_suite">test_suite()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xslt-module.html">lxml.tests.test_xslt</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_xmlns_move">test_attribute_xmlns_move()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple_reversed">test_iterchildren_tag_multiple_reversed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator-module.html">lxml.tests.test_xpathevaluator</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tag_reset_ns">test_tag_reset_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attributes_get">test_attributes_get()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_posarg">test_iterchildren_tag_posarg()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt-module.html#test_suite">test_suite()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xslt-module.html">lxml.tests.test_xslt</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tag_reset_root_ns">test_tag_reset_root_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_errors.ErrorTestCase-class.html#test_bad_element">test_bad_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_errors.ErrorTestCase-class.html">ErrorTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_reversed">test_iterchildren_tag_reversed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tag_reset_ns">test_tag_reset_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tag_str_subclass">test_tag_str_subclass()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants">test_iterdescendants()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tag_reset_root_ns">test_tag_reset_root_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tag_write">test_tag_write()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants_tag">test_iterdescendants_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tag_str_subclass">test_tag_str_subclass()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_tags_upper_lower_case">test_tags_upper_lower_case()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_builder.BuilderTestCase-class.html#test_build_from_xpath_result">test_build_from_xpath_result()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_builder.BuilderTestCase-class.html">BuilderTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants_tag_multiple">test_iterdescendants_tag_multiple()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tag_write">test_tag_write()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_tags_upper_lower_case_html">test_tags_upper_lower_case_html()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_build_tree">test_build_tree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse">test_iterparse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_tags_upper_lower_case">test_tags_upper_lower_case()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail">test_tail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_builder-module.html">test_builder</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_attrib_ns">test_iterparse_attrib_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_tags_upper_lower_case_html">test_tags_upper_lower_case_html()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail1">test_tail1()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_byte_invalid">test_byte_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_broken">test_iterparse_broken()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail">test_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_append">test_tail_append()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_broken_multi_recover">test_iterparse_broken_multi_recover()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail1">test_tail1()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_elementtree_root">test_tail_elementtree_root()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_broken_recover">test_iterparse_broken_recover()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_append">test_tail_append()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_set_none">test_tail_set_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_cdata">test_iterparse_cdata()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_elementtree_root">test_tail_elementtree_root()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_set_twice">test_tail_set_twice()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_clear">test_iterparse_clear()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_set_none">test_tail_set_none()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_str_subclass">test_tail_str_subclass()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_comments">test_iterparse_comments()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_set_twice">test_tail_set_twice()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text">test_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_encoding_8bit_override">test_iterparse_encoding_8bit_override()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tail_str_subclass">test_tail_str_subclass()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_empty">test_text_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_encoding_error">test_iterparse_encoding_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text">test_text()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_escape_in">test_text_escape_in()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_file">test_iterparse_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_empty">test_text_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_escape_out">test_text_escape_out()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_iterparse_file_dtd_end">test_iterparse_file_dtd_end()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_escape_in">test_text_escape_in()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_escape_tostring">test_text_escape_tostring()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_iterparse_file_dtd_start">test_iterparse_file_dtd_start()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_escape_out">test_text_escape_out()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_other">test_text_other()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_getiterator">test_iterparse_getiterator()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_escape_tostring">test_text_escape_tostring()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_str_subclass">test_text_str_subclass()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_keep_cdata">test_iterparse_keep_cdata()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_other">test_text_other()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_create_xslt">test_thread_create_xslt()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_c_api">test_c_api()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_large">test_iterparse_large()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_text_str_subclass">test_text_str_subclass()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_error_log">test_thread_error_log()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementpath.EtreeElementPathTestCase-class.html#test_cache">test_cache()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementpath.EtreeElementPathTestCase-class.html">EtreeElementPathTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_move_elements">test_iterparse_move_elements()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_create_xslt">test_thread_create_xslt()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_mix">test_thread_mix()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_builder.BuilderTestCase-class.html">BuilderTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_pis">test_iterparse_pis()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_error_log">test_thread_error_log()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html#test_thread_pipeline_global_parse">test_thread_pipeline_global_parse()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html">ThreadPipelineTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata">test_cdata()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_remove_comments">test_iterparse_remove_comments()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_mix">test_thread_mix()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html#test_thread_pipeline_thread_parse">test_thread_pipeline_thread_parse()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html">ThreadPipelineTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_errors">test_cdata_errors()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_start">test_iterparse_start()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html#test_thread_pipeline_global_parse">test_thread_pipeline_global_parse()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html">ThreadPipelineTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_xslt">test_thread_xslt()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_parser">test_cdata_parser()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_start_end">test_iterparse_start_end()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html#test_thread_pipeline_thread_parse">test_thread_pipeline_thread_parse()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html">ThreadPipelineTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_xslt_attr_replace">test_thread_xslt_attr_replace()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_builder.BuilderTestCase-class.html#test_cdata_solo">test_cdata_solo()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_builder.BuilderTestCase-class.html">BuilderTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_strip">test_iterparse_strip()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_xslt">test_thread_xslt()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading-module.html">test_threading</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_tail">test_cdata_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_tag">test_iterparse_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_thread_xslt_attr_replace">test_thread_xslt_attr_replace()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring">test_tostring()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_type">test_cdata_type()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_tag_all">test_iterparse_tag_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading-module.html">test_threading</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring_element">test_tostring_element()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_xpath">test_cdata_xpath()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_tag_ns">test_iterparse_tag_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring">test_tostring()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring_element_tail">test_tostring_element_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_tag_ns_all">test_iterparse_tag_ns_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring_element">test_tostring_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring_method_html">test_tostring_method_html()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_tag_ns_empty">test_iterparse_tag_ns_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring_element_tail">test_tostring_element_tail()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_html_with_tail">test_tostring_method_html_with_tail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_addattr">test_child_addattr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_tag_ns_empty_all">test_iterparse_tag_ns_empty_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring_method_html">test_tostring_method_html()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring_method_text">test_tostring_method_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_tree_comments">test_iterparse_tree_comments()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_html_with_tail">test_tostring_method_html_with_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_text_encoding">test_tostring_method_text_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_iterparse_utf16_bom">test_iterparse_utf16_bom()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_tostring_method_text">test_tostring_method_text()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_text_unicode">test_tostring_method_text_unicode()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_index">test_child_index()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_iterparse_utf8_bom">test_iterparse_utf8_bom()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_text_encoding">test_tostring_method_text_encoding()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_none">test_tostring_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings">test_itersiblings()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_text_unicode">test_tostring_method_text_unicode()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_pretty">test_tostring_pretty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings_tag">test_itersiblings_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_none">test_tostring_none()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_standalone">test_tostring_standalone()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings_tag_multiple">test_itersiblings_tag_multiple()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_pretty">test_tostring_pretty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_standalone_in_out">test_tostring_standalone_in_out()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_itertext">test_itertext()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_standalone">test_tostring_standalone()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode">test_tostring_unicode()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_itertext_child">test_itertext_child()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_standalone_in_out">test_tostring_standalone_in_out()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_element">test_tostring_unicode_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk">test_iterwalk()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode">test_tostring_unicode()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_element_tail">test_tostring_unicode_element_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk_attrib_ns">test_iterwalk_attrib_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_element">test_tostring_unicode_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_none">test_tostring_unicode_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk_clear">test_iterwalk_clear()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_element_tail">test_tostring_unicode_element_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_pretty">test_tostring_unicode_pretty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk_getiterator">test_iterwalk_getiterator()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_none">test_tostring_unicode_none()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_with_tail">test_tostring_with_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk_start">test_iterwalk_start()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_pretty">test_tostring_unicode_pretty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode">test_tounicode()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk_start_end">test_iterwalk_start_end()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_with_tail">test_tostring_with_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element">test_tounicode_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk_tag">test_iterwalk_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode">test_tounicode()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element_tail">test_tounicode_element_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk_tag_all">test_iterwalk_tag_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element">test_tounicode_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_none">test_tounicode_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_large_sourceline_XML">test_large_sourceline_XML()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element_tail">test_tounicode_element_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_pretty">test_tounicode_pretty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup">test_lookup()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_none">test_tounicode_none()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_tree_io">test_tree_io()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_clear">test_clear()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_attrib">test_lookup_attrib()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_pretty">test_tounicode_pretty()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_tree_io_latin1">test_tree_io_latin1()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_clear_sub">test_clear_sub()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_bool">test_lookup_bool()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_tree_io">test_tree_io()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_treebuilder">test_treebuilder()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_clear_tail">test_clear_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_get">test_lookup_get()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_tree_io_latin1">test_tree_io_latin1()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_treebuilder_target">test_treebuilder_target()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_closing_out_of_order_in_error_case">test_closing_out_of_order_in_error_case()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_get_default">test_lookup_get_default()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_treebuilder">test_treebuilder()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_bool">test_type_bool()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_comment">test_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_getchildren">test_lookup_getchildren()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_treebuilder_target">test_treebuilder_target()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_bool_cmp">test_type_bool_cmp()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_comment">test_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_getitem">test_lookup_getitem()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_bool">test_type_bool()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float">test_type_float()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_getitem_neg">test_lookup_getitem_neg()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_bool_cmp">test_type_bool_cmp()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_instantiation_precision">test_type_float_instantiation_precision()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_getnext">test_lookup_getnext()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float">test_type_float()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_precision">test_type_float_precision()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_getparent">test_lookup_getparent()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_int">test_type_int()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_precision_consistency">test_type_float_precision_consistency()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_getprevious">test_lookup_getprevious()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_int_cmp">test_type_int_cmp()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_int">test_type_int()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_getslice">test_lookup_getslice()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_none_cmp">test_type_none_cmp()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_int_cmp">test_type_int_cmp()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_iter_children">test_lookup_iter_children()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_NoneType">test_type_NoneType()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_none_cmp">test_type_none_cmp()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_iterchildren">test_lookup_iterchildren()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str">test_type_str()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_NoneType">test_type_NoneType()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_iterchildren_tag">test_lookup_iterchildren_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_add">test_type_str_add()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str">test_type_str()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_keep_ref_assertion">test_lookup_keep_ref_assertion()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_as_complex">test_type_str_as_complex()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_add">test_type_str_add()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_len">test_lookup_len()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_as_float">test_type_str_as_float()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_as_complex">test_type_str_as_complex()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_prefix">test_lookup_prefix()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_as_int">test_type_str_as_int()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_as_float">test_type_str_as_float()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_sourceline">test_lookup_sourceline()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_cmp">test_type_str_cmp()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_as_int">test_type_str_as_int()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_tag">test_lookup_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_floatliteral">test_type_str_floatliteral()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_cmp">test_type_str_cmp()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_tail">test_lookup_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_hash">test_type_str_hash()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_floatliteral">test_type_str_floatliteral()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_text">test_lookup_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_intliteral">test_type_str_intliteral()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_hash">test_type_str_hash()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_lookup_without_fallback">test_lookup_without_fallback()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mod">test_type_str_mod()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_intliteral">test_type_str_intliteral()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_main_xslt_in_thread">test_main_xslt_in_thread()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mod_data_elements">test_type_str_mod_data_elements()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mod">test_type_str_mod()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_makeelement">test_makeelement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mul">test_type_str_mul()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mod_data_elements">test_type_str_mod_data_elements()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_merge_namespaced_subtree_as_slice">test_merge_namespaced_subtree_as_slice()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_sequence">test_type_str_sequence()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_mul">test_type_str_mul()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_missing_attributes">test_missing_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_unregistered">test_type_unregistered()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_sequence">test_type_str_sequence()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_css.CSSTestCase-class.html">CSSTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_missing_children">test_missing_children()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr">test_type_ustr()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_unregistered">test_type_unregistered()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_HTML">test_module_HTML()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr_add">test_type_ustr_add()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr">test_type_ustr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_HTML_access">test_module_HTML_access()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr_floatliteral">test_type_ustr_floatliteral()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr_add">test_type_ustr_add()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_HTML_broken">test_module_HTML_broken()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr_intliteral">test_type_ustr_intliteral()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr_floatliteral">test_type_ustr_floatliteral()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_HTML_cdata">test_module_HTML_cdata()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr_mul">test_type_ustr_mul()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr_intliteral">test_type_ustr_intliteral()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_HTML_pretty_print">test_module_HTML_pretty_print()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode-module.html">test_unicode</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_ustr_mul">test_type_ustr_mul()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg_invalid_pytype">test_data_element_data_element_arg_invalid_pytype()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_HTML_unicode">test_module_HTML_unicode()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_attr">test_unicode_attr()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode-module.html">test_unicode</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg_invalid_xsi">test_data_element_data_element_arg_invalid_xsi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_module_parse_fileobject_error">test_module_parse_fileobject_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid">test_unicode_byte_invalid()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_attr">test_unicode_attr()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg_pytype">test_data_element_data_element_arg_pytype()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_module_parse_fileobject_late_error">test_module_parse_fileobject_late_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid_sequence">test_unicode_byte_invalid_sequence()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid">test_unicode_byte_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_module_parse_fileobject_type_error">test_module_parse_fileobject_type_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_zero">test_unicode_byte_zero()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid_sequence">test_unicode_byte_invalid_sequence()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_module_parse_gzipobject">test_module_parse_gzipobject()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_comment">test_unicode_comment()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_zero">test_unicode_byte_zero()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg_xsitype">test_data_element_data_element_arg_xsitype()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_parse_html">test_module_parse_html()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_ns_invalid">test_unicode_ns_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_comment">test_unicode_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_parse_html_error">test_module_parse_html_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_nstag">test_unicode_nstag()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_ns_invalid">test_unicode_ns_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_parse_html_filelike">test_module_parse_html_filelike()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_nstag_invalid">test_unicode_nstag_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_nstag">test_unicode_nstag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_module_parse_html_norecover">test_module_parse_html_norecover()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_parse_stringio">test_unicode_parse_stringio()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_nstag_invalid">test_unicode_nstag_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_int">test_data_element_int()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_float_hash_repr">test_data_element_float_hash_repr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_module_parse_large_fileobject">test_module_parse_large_fileobject()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_qname">test_unicode_qname()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_parse_stringio">test_unicode_parse_stringio()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_int_hash">test_data_element_int_hash()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_float_precision">test_data_element_float_precision()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_multiple_elementrees">test_multiple_elementrees()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_qname_invalid">test_unicode_qname_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_qname">test_unicode_qname()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_invalid_pytype">test_data_element_invalid_pytype()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_int">test_data_element_int()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_multiple_elementrees">test_multiple_elementrees()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_repr1">test_unicode_repr1()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_qname_invalid">test_unicode_qname_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_invalid_xsi">test_data_element_invalid_xsi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_int_hash">test_data_element_int_hash()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_multiple_elementrees">test_multiple_elementrees()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_repr2">test_unicode_repr2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_repr1">test_unicode_repr1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_NoneType">test_data_element_NoneType()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_invalid_pytype">test_data_element_invalid_pytype()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup">test_namespace_cleanup()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_repr3">test_unicode_repr3()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_repr2">test_unicode_repr2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_custom">test_data_element_nsmap_custom()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_invalid_xsi">test_data_element_invalid_xsi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup_attributes">test_namespace_cleanup_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_repr4">test_unicode_repr4()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_repr3">test_unicode_repr3()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_custom_prefixes">test_data_element_nsmap_custom_prefixes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_NoneType">test_data_element_NoneType()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup_deep">test_namespace_cleanup_deep()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_tag">test_unicode_tag()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_repr4">test_unicode_repr4()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_default">test_data_element_nsmap_default()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_custom">test_data_element_nsmap_custom()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup_deep_to_top">test_namespace_cleanup_deep_to_top()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_tag_invalid">test_unicode_tag_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_tag">test_unicode_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_empty">test_data_element_nsmap_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_custom_prefixes">test_data_element_nsmap_custom_prefixes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup_keep_prefixes">test_namespace_cleanup_keep_prefixes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_text">test_unicode_text()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_tag_invalid">test_unicode_tag_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none">test_data_element_pytype_none()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_default">test_data_element_nsmap_default()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup_keep_prefixes_top">test_namespace_cleanup_keep_prefixes_top()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_xml">test_unicode_xml()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_text">test_unicode_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none_compat">test_data_element_pytype_none_compat()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_nsmap_empty">test_data_element_nsmap_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup_many">test_namespace_cleanup_many()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_xml_broken">test_unicode_xml_broken()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_xml">test_unicode_xml()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytypes">test_data_element_pytypes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none">test_data_element_pytype_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_namespace_lookup">test_namespace_lookup()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_uniname">test_uniname()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_unicode_xml_broken">test_unicode_xml_broken()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_str">test_data_element_str()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none_compat">test_data_element_pytype_none_compat()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nested_anonymous">test_namespace_nested_anonymous()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_uniname">test_uniname()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytypes">test_data_element_pytypes()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nested_nsmap">test_namespace_nested_nsmap()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_unknown_event">test_unknown_event()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_str_floatliteral">test_data_element_str_floatliteral()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_str">test_data_element_str()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nested_nsmap">test_namespace_nested_nsmap()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nsmap">test_namespace_nsmap()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_builder.BuilderTestCase-class.html#test_unknown_type_raises">test_unknown_type_raises()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_builder.BuilderTestCase-class.html">BuilderTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_str_intliteral">test_data_element_str_intliteral()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_str_floatliteral">test_data_element_str_floatliteral()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nsmap">test_namespace_nsmap()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces">test_namespaces()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_variable_result_tree_fragment">test_variable_result_tree_fragment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_unregistered">test_data_element_unregistered()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_str_intliteral">test_data_element_str_intliteral()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces">test_namespaces()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_namespaces_after_serialize">test_namespaces_after_serialize()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_vars">test_vars()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_ustr">test_data_element_ustr()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_unregistered">test_data_element_unregistered()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_namespaces_after_serialize">test_namespaces_after_serialize()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_copy_element">test_namespaces_copy_element()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_version">test_version()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_ustr_floatliteral">test_data_element_ustr_floatliteral()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_ustr">test_data_element_ustr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_copy_element">test_namespaces_copy_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default">test_namespaces_default()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_void_elements">test_void_elements()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html">HtmlFileTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_ustr_intliteral">test_data_element_ustr_intliteral()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_ustr_floatliteral">test_data_element_ustr_floatliteral()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default">test_namespaces_default()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_and_attr">test_namespaces_default_and_attr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_weird_dict_interaction">test_weird_dict_interaction()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes">test_data_element_xsitypes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_ustr_intliteral">test_data_element_ustr_intliteral()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_and_attr">test_namespaces_default_and_attr()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_and_other">test_namespaces_default_and_other()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_wide_unicode_xml">test_wide_unicode_xml()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes_prefixed">test_data_element_xsitypes_prefixed()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes">test_data_element_xsitypes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_and_other">test_namespaces_default_and_other()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_copy_element">test_namespaces_default_copy_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_unicode.UnicodeTestCase-class.html#test_wide_unicode_xml">test_wide_unicode_xml()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode.UnicodeTestCase-class.html">UnicodeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes_xsdprefixed">test_data_element_xsitypes_xsdprefixed()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes_prefixed">test_data_element_xsitypes_prefixed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_copy_element">test_namespaces_default_copy_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_elementtree">test_namespaces_elementtree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write">test_write()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi">test_dataelement_xsi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes_xsdprefixed">test_data_element_xsitypes_xsdprefixed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_elementtree">test_namespaces_elementtree()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_reuse_after_move">test_namespaces_reuse_after_move()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write">test_write()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_nsmap">test_dataelement_xsi_nsmap()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi">test_dataelement_xsi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_reuse_after_move">test_namespaces_reuse_after_move()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_nested_default_namespace">test_nested_default_namespace()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io.ETreeIOTestCase-class.html#test_write_compressed_text">test_write_compressed_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io.ETreeIOTestCase-class.html">ETreeIOTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_prefix_error">test_dataelement_xsi_prefix_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_nsmap">test_dataelement_xsi_nsmap()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_nested_default_namespace">test_nested_default_namespace()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_nested_default_namespace_and_other">test_nested_default_namespace_and_other()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_write_declaration">test_write_declaration()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html">HtmlFileTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_date_element_efactory_tail">test_date_element_efactory_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_prefix_error">test_dataelement_xsi_prefix_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_nested_default_namespace_and_other">test_nested_default_namespace_and_other()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html#test_network_dtd">test_network_dtd()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_write_Element">test_write_Element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_date_element_efactory_text">test_date_element_efactory_text()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_date_element_efactory_tail">test_date_element_efactory_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html#test_network_dtd">test_network_dtd()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_access">test_ns_access()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_write_Element_repeatedly">test_write_Element_repeatedly()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_deannotate">test_deannotate()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_date_element_efactory_text">test_date_element_efactory_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_access">test_ns_access()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_access2">test_ns_access2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write_ElementTreeDoctest">test_write_ElementTreeDoctest()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_declaration_apos">test_declaration_apos()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_access2">test_ns_access2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_deannotate">test_deannotate()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_attr">test_ns_attr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write_fail">test_write_fail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_declaration_escape_quote_pid">test_declaration_escape_quote_pid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_declaration_apos">test_declaration_apos()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_attr">test_ns_attr()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_ns_classes">test_ns_classes()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file">test_write_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_declaration_quote_withoutpid">test_declaration_quote_withoutpid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_declaration_escape_quote_pid">test_declaration_escape_quote_pid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_ns_classes">test_ns_classes()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_decl_tostring">test_ns_decl_tostring()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzip">test_write_file_gzip()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy">test_deepcopy()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_decl_tostring">test_ns_decl_tostring()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_declaration_quote_withoutpid">test_declaration_quote_withoutpid()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_decl_tostring_default">test_ns_decl_tostring_default()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzip_parse">test_write_file_gzip_parse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_append">test_deepcopy_append()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy">test_deepcopy()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_decl_tostring_default">test_ns_decl_tostring_default()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_decl_tostring_element">test_ns_decl_tostring_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzipfile_parse">test_write_file_gzipfile_parse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_comment">test_deepcopy_comment()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_append">test_deepcopy_append()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_decl_tostring_element">test_ns_decl_tostring_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_decl_tostring_root">test_ns_decl_tostring_root()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_write_filename">test_write_filename()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_elementtree">test_deepcopy_elementtree()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_decl_tostring_root">test_ns_decl_tostring_root()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_comment">test_deepcopy_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_ns_events">test_ns_events()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_gzip">test_write_gzip()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_dtd">test_deepcopy_elementtree_dtd()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_ns_events">test_ns_events()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_elementtree">test_deepcopy_elementtree()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_move">test_ns_move()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_gzip_level">test_write_gzip_level()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_pi">test_deepcopy_elementtree_pi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_dtd">test_deepcopy_elementtree_dtd()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_move">test_ns_move()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_setting">test_ns_setting()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_write_invalid_filename">test_write_invalid_filename()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_namespaces">test_deepcopy_namespaces()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_setting">test_ns_setting()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_pi">test_deepcopy_elementtree_pi()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_tag_parse">test_ns_tag_parse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write_method_html">test_write_method_html()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_pi">test_deepcopy_pi()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ns_tag_parse">test_ns_tag_parse()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_namespaces">test_deepcopy_namespaces()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses-module.html">test_nsclasses</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write_method_text">test_write_method_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_pi_dtd">test_deepcopy_pi_dtd()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_pi">test_deepcopy_pi()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_nsmap_prefix_invalid">test_nsmap_prefix_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses-module.html">test_nsclasses</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_write_namespaced_element">test_write_namespaced_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html">HtmlFileTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_subelement">test_deepcopy_subelement()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_nsmap_prefix_invalid">test_nsmap_prefix_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_pi_dtd">test_deepcopy_pi_dtd()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude">test_xinclude()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path">test_object_path()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude">test_xinclude()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree._XIncludeTestCase-class.html" onclick="show_private();">_XIncludeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_tail">test_deepcopy_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_subelement">test_deepcopy_subelement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path">test_object_path()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr">test_object_path_addattr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_resolver">test_xinclude_resolver()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree._XIncludeTestCase-class.html" onclick="show_private();">_XIncludeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_default_class_lookup">test_default_class_lookup()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr">test_object_path_addattr()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_tail">test_deepcopy_tail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create">test_object_path_addattr_create()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_resolver_recursive">test_xinclude_resolver_recursive()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree._XIncludeTestCase-class.html" onclick="show_private();">_XIncludeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_default_class_lookup_pull_parser">test_default_class_lookup_pull_parser()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_default_class_lookup">test_default_class_lookup()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create">test_object_path_addattr_create()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create_element">test_object_path_addattr_create_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_text">test_xinclude_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree._XIncludeTestCase-class.html" onclick="show_private();">_XIncludeTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_default_namespace">test_default_namespace()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create_element">test_object_path_addattr_create_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_default_class_lookup_pull_parser">test_default_class_lookup_pull_parser()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create_list">test_object_path_addattr_create_list()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_XML">test_XML()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_default_parser_HTML_broken">test_default_parser_HTML_broken()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create_list">test_object_path_addattr_create_list()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_default_namespace">test_default_namespace()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_element">test_object_path_addattr_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_xml_base">test_xml_base()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_default_tagname">test_default_tagname()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_element">test_object_path_addattr_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_default_parser_HTML_broken">test_default_parser_HTML_broken()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_absolute">test_object_path_default_absolute()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xml_base">test_xml_base()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_attribute_ns">test_del_attribute_ns()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_absolute">test_object_path_default_absolute()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_default_tagname">test_default_tagname()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_relative">test_object_path_default_relative()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_xml_base_attribute">test_xml_base_attribute()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_attribute_ns_parsed">test_del_attribute_ns_parsed()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_attribute_ns">test_del_attribute_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_relative">test_object_path_default_relative()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot">test_object_path_dot()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xml_base_attribute">test_xml_base_attribute()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_insert">test_del_insert()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_attribute_ns_parsed">test_del_attribute_ns_parsed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot">test_object_path_dot()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_list">test_object_path_dot_list()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XML_base_url_docinfo">test_XML_base_url_docinfo()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_setitem">test_del_setitem()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_insert">test_del_insert()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_list">test_object_path_dot_list()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root">test_object_path_dot_root()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_XML_base_url_docinfo">test_XML_base_url_docinfo()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_setslice">test_del_setslice()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_setitem">test_del_setitem()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root">test_object_path_dot_root()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root_list">test_object_path_dot_root_list()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XML_set_base_url_docinfo">test_XML_set_base_url_docinfo()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delitem">test_delitem()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_setslice">test_del_setslice()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root_list">test_object_path_dot_root_list()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail">test_object_path_fail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_XML_set_base_url_docinfo">test_XML_set_base_url_docinfo()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delitem_tail">test_delitem_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delitem">test_delitem()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail">test_object_path_fail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty">test_object_path_fail_parse_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID">test_XMLDTDID()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice">test_delslice()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delitem_tail">test_delitem_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty">test_object_path_fail_parse_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty_list">test_object_path_fail_parse_empty_list()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID_empty">test_XMLDTDID_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_child_tail">test_delslice_child_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice">test_delslice()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty_list">test_object_path_fail_parse_empty_list()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_hasattr">test_object_path_hasattr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID_no_id_dict">test_XMLDTDID_no_id_dict()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_memory">test_delslice_memory()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_child_tail">test_delslice_child_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_hasattr">test_object_path_hasattr()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index">test_object_path_index()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_XMLID">test_XMLID()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_negative1">test_delslice_negative1()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_memory">test_delslice_memory()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index">test_object_path_index()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_fail_lookup">test_object_path_index_fail_lookup()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema-module.html">test_xmlschema</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_negative2">test_delslice_negative2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_negative1">test_delslice_negative1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_fail_lookup">test_object_path_index_fail_lookup()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_fail_parse">test_object_path_index_fail_parse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema">test_xmlschema()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_step">test_delslice_step()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_negative2">test_delslice_negative2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_fail_parse">test_object_path_index_fail_parse()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_list">test_object_path_index_list()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_comment_error">test_xmlschema_comment_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_step_negative">test_delslice_step_negative()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_step">test_delslice_step()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_list">test_object_path_index_list()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_list">test_object_path_list()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_default_attributes">test_xmlschema_default_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_step_negative2">test_delslice_step_negative2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_step_negative">test_delslice_step_negative()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_list">test_object_path_list()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_ns">test_object_path_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_elementtree_error">test_xmlschema_elementtree_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_tail">test_delslice_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_step_negative2">test_delslice_step_negative2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_ns">test_object_path_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_ns_list">test_object_path_ns_list()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_error_log">test_xmlschema_error_log()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths">test_descendant_paths()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_ns_list">test_object_path_ns_list()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_delslice_tail">test_delslice_tail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set">test_object_path_set()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_file">test_xmlschema_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths_child">test_descendant_paths_child()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths">test_descendant_paths()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set">test_object_path_set()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create">test_object_path_set_create()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_illegal_validation_error">test_xmlschema_illegal_validation_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths_prefix">test_descendant_paths_prefix()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths_child">test_descendant_paths_child()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create">test_object_path_set_create()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_element">test_object_path_set_create_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_import_file">test_xmlschema_import_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_differing_attributes">test_differing_attributes()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_element">test_object_path_set_create_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths_prefix">test_descendant_paths_prefix()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_list">test_object_path_set_create_list()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_invalid_schema1">test_xmlschema_invalid_schema1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_differing_tags">test_differing_tags()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_differing_attributes">test_differing_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_list">test_object_path_set_create_list()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_element">test_object_path_set_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_invalid_schema2">test_xmlschema_invalid_schema2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dir">test_dir()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_element">test_object_path_set_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_differing_tags">test_differing_tags()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_syntax">test_object_path_syntax()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_iterparse">test_xmlschema_iterparse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_empty">test_docinfo_empty()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_syntax">test_object_path_syntax()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dir">test_dir()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_iterparse_fail">test_xmlschema_iterparse_fail()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_name_only">test_docinfo_name_only()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify-module.html">test_objectify</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html#test_xmlschema_nested_resolvers">test_xmlschema_nested_resolvers()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html">ETreeXMLSchemaResolversTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_iterparse_fail">test_xmlschema_iterparse_fail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_public">test_docinfo_public()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_empty">test_docinfo_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_open_namespaced_element">test_open_namespaced_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html">HtmlFileTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_parse">test_xmlschema_parse()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html#test_xmlschema_nested_resolvers">test_xmlschema_nested_resolvers()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html">ETreeXMLSchemaResolversTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_system">test_docinfo_system()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_name_only">test_docinfo_name_only()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_base_url_docinfo">test_parse_base_url_docinfo()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_parse_default_attributes">test_xmlschema_parse_default_attributes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_parse">test_xmlschema_parse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare-module.html">test_doctestcompare</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_public">test_docinfo_public()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_parse_base_url_docinfo">test_parse_base_url_docinfo()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_parse_default_attributes_schema_config">test_xmlschema_parse_default_attributes_schema_config()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_parse_default_attributes">test_xmlschema_parse_default_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_name_only_roundtrip">test_doctype_name_only_roundtrip()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_system">test_docinfo_system()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_cdata">test_parse_cdata()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_parse_fixed_attributes">test_xmlschema_parse_fixed_attributes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_parse_default_attributes_schema_config">test_xmlschema_parse_default_attributes_schema_config()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_output_override">test_doctype_output_override()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare-module.html">test_doctestcompare</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_encoding_8bit_explicit">test_parse_encoding_8bit_explicit()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html#test_xmlschema_resolvers">test_xmlschema_resolvers()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html">ETreeXMLSchemaResolversTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_parse_fixed_attributes">test_xmlschema_parse_fixed_attributes()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd-module.html">test_dtd</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_name_only_roundtrip">test_doctype_name_only_roundtrip()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_parse_encoding_8bit_explicit">test_parse_encoding_8bit_explicit()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html#test_xmlschema_resolvers_noroot">test_xmlschema_resolvers_noroot()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html#test_xmlschema_resolvers">test_xmlschema_resolvers()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html">ETreeXMLSchemaResolversTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd">test_dtd()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_output_override">test_doctype_output_override()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_encoding_8bit_override">test_parse_encoding_8bit_override()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html#test_xmlschema_resolvers_root">test_xmlschema_resolvers_root()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html#test_xmlschema_resolvers_noroot">test_xmlschema_resolvers_noroot()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html">ETreeXMLSchemaResolversTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_api_internal">test_dtd_api_internal()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd-module.html">test_dtd</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_parse_encoding_8bit_override">test_parse_encoding_8bit_override()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_shortcut">test_xmlschema_shortcut()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html#test_xmlschema_resolvers_root">test_xmlschema_resolvers_root()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html">ETreeXMLSchemaResolversTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_assertValid">test_dtd_assertValid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd">test_dtd()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_error">test_parse_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_stringio">test_xmlschema_stringio()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_shortcut">test_xmlschema_shortcut()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_attrs">test_dtd_attrs()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_api_internal">test_dtd_api_internal()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_error_from_file">test_parse_error_from_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_boolean">test_xpath_boolean()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html#test_xmlschema_stringio">test_xmlschema_stringio()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html">ETreeXMLSchemaTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_broken">test_dtd_broken()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_assertValid">test_dtd_assertValid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeErrorLogTest-class.html#test_parse_error_logging">test_parse_error_logging()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeErrorLogTest-class.html">ETreeErrorLogTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_class_error">test_xpath_class_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_boolean">test_xpath_boolean()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_file">test_dtd_file()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_attrs">test_dtd_attrs()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_error_none">test_parse_error_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_class_prefix_error">test_xpath_class_prefix_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_class_error">test_xpath_class_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_internal">test_dtd_internal()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_broken">test_dtd_broken()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_file">test_parse_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_compile_doc">test_xpath_compile_doc()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html">ETreeXPathClassTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_class_prefix_error">test_xpath_class_prefix_error()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_internal_invalid">test_dtd_internal_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_file">test_dtd_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_parse_file_dtd">test_parse_file_dtd()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_compile_element">test_xpath_compile_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_compile_doc">test_xpath_compile_doc()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html">ETreeXPathClassTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_invalid">test_dtd_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_internal">test_dtd_internal()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_file_encoding">test_parse_file_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_compile_error">test_xpath_compile_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_compile_element">test_xpath_compile_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html">ETreeXPathClassTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_invalid_duplicate_id">test_dtd_invalid_duplicate_id()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_internal_invalid">test_dtd_internal_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_file_nonexistent">test_parse_file_nonexistent()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-class.html#test_xpath_compile_ns">test_xpath_compile_ns()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-class.html">ETreeETXPathClassTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_compile_error">test_xpath_compile_error()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html">ETreeXPathClassTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_dtd_io">test_dtd_io()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_invalid">test_dtd_invalid()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_file_object">test_parse_file_object()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_compile_vars">test_xpath_compile_vars()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html">ETreeXPathClassTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-class.html#test_xpath_compile_ns">test_xpath_compile_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-class.html">ETreeETXPathClassTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_file_not_found">test_dtd_parse_file_not_found()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_invalid_duplicate_id">test_dtd_invalid_duplicate_id()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_file_object_encoding">test_parse_file_object_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_compile_vars">test_xpath_compile_vars()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html">ETreeXPathClassTestCase</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_dtd_io">test_dtd_io()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_fileobject_unicode">test_parse_fileobject_unicode()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_context_node">test_xpath_context_node()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_invalid">test_dtd_parse_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_file_not_found">test_dtd_parse_file_not_found()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_fileobject_unicode">test_parse_fileobject_unicode()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_parser_type_error">test_parse_parser_type_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_document_root">test_xpath_document_root()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_valid">test_dtd_parse_valid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_invalid">test_dtd_parse_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_parser_type_error">test_parse_parser_type_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_remove_comments">test_parse_remove_comments()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html#test_xpath_elementtree_error">test_xpath_elementtree_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html">ETreeXPathClassTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_valid_file_url">test_dtd_parse_valid_file_url()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_remove_comments">test_parse_remove_comments()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_error">test_xpath_error()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_valid_relative">test_dtd_parse_valid_relative()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_valid">test_dtd_parse_valid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_remove_pis">test_parse_remove_pis()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_eval_context_clear">test_xpath_eval_context_clear()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_error">test_xpath_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_valid_relative_file_url">test_dtd_parse_valid_relative_file_url()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_valid_file_url">test_dtd_parse_valid_file_url()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_stringio">test_parse_stringio()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_eval_context_propagation">test_xpath_eval_context_propagation()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_eval_context_clear">test_xpath_eval_context_clear()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_stringio">test_dtd_stringio()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_valid_relative">test_dtd_parse_valid_relative()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_stringio_base_url">test_parse_stringio_base_url()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_evaluator">test_xpath_evaluator()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_eval_context_propagation">test_xpath_eval_context_propagation()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_dump_none">test_dump_none()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_parse_valid_relative_file_url">test_dtd_parse_valid_relative_file_url()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_parse_stringio_base_url">test_parse_stringio_base_url()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_evaluator_element">test_xpath_evaluator_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_evaluator">test_xpath_evaluator()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_attrib">test_efactory_attrib()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_dtd_stringio">test_dtd_stringio()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_parse_utf8_bom">test_parse_utf8_bom()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_evaluator_tree">test_xpath_evaluator_tree()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_evaluator_element">test_xpath_evaluator_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_bool">test_efactory_bool()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_dump_none">test_dump_none()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parse_with_encoding">test_parse_with_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_evaluator_tree_absolute">test_xpath_evaluator_tree_absolute()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_evaluator_tree">test_xpath_evaluator_tree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_float">test_efactory_float()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_attrib">test_efactory_attrib()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parseid">test_parseid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-class.html#test_xpath_exslt_functions_date">test_xpath_exslt_functions_date()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-class.html">ETreeXPathExsltTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_evaluator_tree_absolute">test_xpath_evaluator_tree_absolute()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_int">test_efactory_int()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_bool">test_efactory_bool()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_parser_based_lookup">test_parser_based_lookup()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-class.html#test_xpath_exslt_functions_strings">test_xpath_exslt_functions_strings()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-class.html#test_xpath_exslt_functions_date">test_xpath_exslt_functions_date()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-class.html">ETreeXPathExsltTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_nested">test_efactory_nested()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_float">test_efactory_float()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_encoding">test_parser_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions">test_xpath_extensions()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-class.html#test_xpath_exslt_functions_strings">test_xpath_exslt_functions_strings()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-class.html">ETreeXPathExsltTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_none">test_efactory_none()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_int">test_efactory_int()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_encoding_unknown">test_parser_encoding_unknown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_error">test_xpath_extensions_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions">test_xpath_extensions()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_str">test_efactory_str()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_nested">test_efactory_nested()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html#test_parser_input_mix">test_parser_input_mix()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_mix">test_xpath_extensions_mix()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_error">test_xpath_extensions_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_subtype">test_efactory_subtype()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_none">test_efactory_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_attrib">test_parser_target_attrib()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_nodes">test_xpath_extensions_nodes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_mix">test_xpath_extensions_mix()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_unicode">test_efactory_unicode()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_str">test_efactory_str()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_cdata">test_parser_target_cdata()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_nodes_append">test_xpath_extensions_nodes_append()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_nodes">test_xpath_extensions_nodes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_value_concatenation">test_efactory_value_concatenation()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_subtype">test_efactory_subtype()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_comment">test_parser_target_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_nodes_append">test_xpath_extensions_nodes_append()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_unicode">test_efactory_unicode()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_data">test_parser_target_data()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_nodes_append2">test_xpath_extensions_nodes_append2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_value_concatenation">test_efactory_value_concatenation()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_entity">test_parser_target_entity()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_wrong_args">test_xpath_extensions_wrong_args()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
+</tr>
+<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element">test_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_data">test_parser_target_data()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_entity_unknown">test_parser_target_entity_unknown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_extensions_wrong_args">test_xpath_extensions_wrong_args()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_attribute">test_xpath_list_attribute()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element">test_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_entity">test_parser_target_entity()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_error_in_close">test_parser_target_error_in_close()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_attribute">test_xpath_list_attribute()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_attribute_parent">test_xpath_list_attribute_parent()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_element_base">test_element_base()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_entity_unknown">test_parser_target_entity_unknown()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_error_in_end">test_parser_target_error_in_end()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_attribute_parent">test_xpath_list_attribute_parent()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_attribute_parent_no_smart_strings">test_xpath_list_attribute_parent_no_smart_strings()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_element_base_children">test_element_base_children()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_error_in_close">test_parser_target_error_in_close()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_error_in_start">test_parser_target_error_in_start()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_attribute_parent_no_smart_strings">test_xpath_list_attribute_parent_no_smart_strings()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_comment">test_xpath_list_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_contains">test_element_contains()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_error_in_end">test_parser_target_error_in_end()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_error_in_start_and_close">test_parser_target_error_in_start_and_close()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_comment">test_xpath_list_comment()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_elements">test_xpath_list_elements()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_element_creation">test_element_creation()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_error_in_start">test_parser_target_error_in_start()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_elements">test_xpath_list_elements()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_feed_exception">test_parser_target_feed_exception()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_nothing">test_xpath_list_nothing()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_errors.ErrorTestCase-class.html#test_element_cyclic_gc_none">test_element_cyclic_gc_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_errors.ErrorTestCase-class.html">ErrorTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_error_in_start_and_close">test_parser_target_error_in_start_and_close()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_nothing">test_xpath_list_nothing()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_feed_no_id_dict">test_parser_target_feed_no_id_dict()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_text">test_xpath_list_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_indexing_negative">test_element_indexing_negative()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_feed_exception">test_parser_target_feed_exception()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_fromstring_exception">test_parser_target_fromstring_exception()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_text">test_xpath_list_text()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_text_parent">test_xpath_list_text_parent()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_indexing_only_text">test_element_indexing_only_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_feed_no_id_dict">test_parser_target_feed_no_id_dict()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_pi">test_parser_target_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_text_parent">test_xpath_list_text_parent()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_text_parent_no_smart_strings">test_xpath_list_text_parent_no_smart_strings()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_indexing_with_text">test_element_indexing_with_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_fromstring_exception">test_parser_target_fromstring_exception()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_text_parent_no_smart_strings">test_xpath_list_text_parent_no_smart_strings()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_property">test_parser_target_property()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_unicode_text_parent">test_xpath_list_unicode_text_parent()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_indexing_with_text2">test_element_indexing_with_text2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_pi">test_parser_target_pi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_recover">test_parser_target_recover()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_unicode_text_parent">test_xpath_list_unicode_text_parent()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_namespace">test_xpath_namespace()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_name_colon">test_element_name_colon()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_property">test_parser_target_property()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_tag">test_parser_target_tag()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_namespace">test_xpath_namespace()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_name_empty">test_element_name_empty()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_target_recover">test_parser_target_recover()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_namespace_empty">test_xpath_namespace_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_name_quote">test_element_name_quote()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_name_empty">test_element_name_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_target_tag">test_parser_target_tag()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_version">test_parser_version()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_ns">test_xpath_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_name_space">test_element_name_space()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_name_quote">test_element_name_quote()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_parser_version">test_parser_version()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_pi">test_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_ns_empty">test_xpath_ns_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_names">test_element_names()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_name_space">test_element_name_space()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi">test_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_pi">test_pi()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_ns_none">test_xpath_ns_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_nested">test_element_nested()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi">test_pi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_names">test_element_names()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_pi">test_pi()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_number">test_xpath_number()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_nested_with_text">test_element_nested_with_text()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_pi">test_pi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_nested">test_element_nested()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_pi_base">test_pi_base()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_xpath_on_context_node">test_xpath_on_context_node()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_nsmap">test_element_nsmap()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_pi_base">test_pi_base()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_nested_with_text">test_element_nested_with_text()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_pi_nonsense">test_pi_nonsense()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_xpath_on_foreign_context_node">test_xpath_on_foreign_context_node()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_custom">test_element_nsmap_custom()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_pi_nonsense">test_pi_nonsense()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_nsmap">test_element_nsmap()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_parse">test_pi_parse()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_prefix_error">test_xpath_prefix_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_custom_prefixes">test_element_nsmap_custom_prefixes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_custom">test_element_nsmap_custom()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_parse">test_pi_parse()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_pseudo_attributes_attrib">test_pi_pseudo_attributes_attrib()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_string">test_xpath_string()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_default">test_element_nsmap_default()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_custom_prefixes">test_element_nsmap_custom_prefixes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_pseudo_attributes_attrib">test_pi_pseudo_attributes_attrib()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_pseudo_attributes_get">test_pi_pseudo_attributes_get()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_text_from_other_document">test_xpath_text_from_other_document()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_empty">test_element_nsmap_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_default">test_element_nsmap_default()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle">test_pickle()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_pseudo_attributes_get">test_pi_pseudo_attributes_get()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_variables">test_xpath_variables()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_refcycle">test_element_refcycle()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle">test_pickle()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_element_nsmap_empty">test_element_nsmap_empty()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_boolelement">test_pickle_boolelement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_variables_nodeset">test_xpath_variables_nodeset()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_element_sax">test_element_sax()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_boolelement">test_pickle_boolelement()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_refcycle">test_element_refcycle()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_elementtree">test_pickle_elementtree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html">test_xpathevaluator</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_element_sax_ns">test_element_sax_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_element_sax">test_element_sax()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_elementtree">test_pickle_elementtree()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_floattelement">test_pickle_floattelement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsiannotate_ignore_old">test_xsiannotate_ignore_old()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes">test_element_with_attributes()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_floattelement">test_pickle_floattelement()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_element_sax_ns">test_element_sax_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_intelement">test_pickle_intelement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsiannotate_use_old">test_xsiannotate_use_old()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes_extra">test_element_with_attributes_extra()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes">test_element_with_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_intelement">test_pickle_intelement()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_noneelement">test_pickle_noneelement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsinil_deannotate">test_xsinil_deannotate()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes_extra_duplicate">test_element_with_attributes_extra_duplicate()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes_extra">test_element_with_attributes_extra()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_noneelement">test_pickle_noneelement()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_strelement">test_pickle_strelement()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsitype_deannotate">test_xsitype_deannotate()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes_keywords">test_element_with_attributes_keywords()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes_extra_duplicate">test_element_with_attributes_extra_duplicate()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_strelement">test_pickle_strelement()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_prefix">test_prefix()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt-module.html">test_xslt</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes_ns">test_element_with_attributes_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes_keywords">test_element_with_attributes_keywords()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_prefix">test_prefix()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_prefix_default_ns">test_prefix_default_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt">test_xslt()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_write_text">test_element_write_text()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_prefix_default_ns">test_prefix_default_ns()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_element_with_attributes_ns">test_element_with_attributes_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_processinginstruction">test_processinginstruction()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_access_control_repr">test_xslt_access_control_repr()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementpath-module.html">test_elementpath</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_processinginstruction">test_processinginstruction()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_write_text">test_element_write_text()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings">test_proxy_collect_siblings()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_broken">test_xslt_broken()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree-module.html">test_elementtree</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementpath-module.html">test_elementpath</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings">test_proxy_collect_siblings()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings_text">test_proxy_collect_siblings_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_copy">test_xslt_copy()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ElementTree">test_ElementTree()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings_text">test_proxy_collect_siblings_text()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree-module.html">test_elementtree</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_proxy_hashing">test_proxy_hashing()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_default_parameters">test_xslt_default_parameters()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_elementtree">test_elementtree()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_ElementTree">test_ElementTree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_proxy_hashing">test_proxy_hashing()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_proxy_reuse">test_proxy_reuse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_elementtree">test_xslt_document_elementtree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_find_qname">test_elementtree_find_qname()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_proxy_reuse">test_proxy_reuse()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_elementtree">test_elementtree()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_proxy_reuse_after_del_root">test_proxy_reuse_after_del_root()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_error">test_xslt_document_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_findall_ns_qname">test_elementtree_findall_ns_qname()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_find_qname">test_elementtree_find_qname()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_proxy_reuse_after_del_root">test_proxy_reuse_after_del_root()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_proxy_reuse_after_gc">test_proxy_reuse_after_gc()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse">test_xslt_document_parse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_findall_qname">test_elementtree_findall_qname()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_findall_ns_qname">test_elementtree_findall_ns_qname()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ProxyTestCase-class.html#test_proxy_reuse_after_gc">test_proxy_reuse_after_gc()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_simple_target">test_pull_from_simple_target()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.XMLPullParserTest-class.html">XMLPullParserTest</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_allow">test_xslt_document_parse_allow()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_getelementpath">test_elementtree_getelementpath()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_findall_qname">test_elementtree_findall_qname()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_simple_target">test_pull_from_simple_target()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_simple_target_start_end">test_pull_from_simple_target_start_end()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.XMLPullParserTest-class.html">XMLPullParserTest</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_deny">test_xslt_document_parse_deny()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_getelementpath_ns">test_elementtree_getelementpath_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_getelementpath">test_elementtree_getelementpath()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_simple_target_start_end">test_pull_from_simple_target_start_end()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_tree_builder">test_pull_from_tree_builder()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.XMLPullParserTest-class.html">XMLPullParserTest</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_deny_all">test_xslt_document_parse_deny_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_elementtree_getiterator">test_elementtree_getiterator()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_tree_builder">test_pull_from_tree_builder()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_getelementpath_ns">test_elementtree_getelementpath_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_tree_builder_subclass">test_pull_from_tree_builder_subclass()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.XMLPullParserTest-class.html">XMLPullParserTest</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_XML">test_xslt_document_XML()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_elementtree_getiterator_filter">test_elementtree_getiterator_filter()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_elementtree_getiterator">test_elementtree_getiterator()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_tree_builder_subclass">test_pull_from_tree_builder_subclass()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.XMLPullParserTest-class.html">XMLPullParserTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_XML_resolver">test_xslt_document_XML_resolver()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_elementtree_getpath">test_elementtree_getpath()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_empty">test_pyannotate_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_elementtree_error">test_xslt_elementtree_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_XML_resolver">test_xslt_document_XML_resolver()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_elementtree_getpath_partial">test_elementtree_getpath_partial()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_elementtree_getiterator_filter">test_elementtree_getiterator_filter()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_ignore_old">test_pyannotate_ignore_old()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_empty">test_xslt_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_elementtree_error">test_xslt_elementtree_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_elementtree_parser_target">test_elementtree_parser_target()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_elementtree_getpath">test_elementtree_getpath()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_use_old">test_pyannotate_use_old()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding">test_xslt_encoding()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_empty">test_xslt_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_parser_target_type_error">test_elementtree_parser_target_type_error()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_elementtree_getpath_partial">test_elementtree_getpath_partial()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup-module.html">test_pyclasslookup</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding_override">test_xslt_encoding_override()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding">test_xslt_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_empty_decl">test_empty_decl()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_elementtree_parser_target">test_elementtree_parser_target()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pypy_proxy_collect">test_pypy_proxy_collect()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_html_output">test_xslt_html_output()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding_override">test_xslt_encoding_override()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_errors.ErrorTestCase-class.html#test_empty_parse">test_empty_parse()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_errors.ErrorTestCase-class.html">ErrorTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_parser_target_type_error">test_elementtree_parser_target_type_error()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation">test_pytype_annotation()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include">test_xslt_include()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_html_output">test_xslt_html_output()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding">test_encoding()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_empty_decl">test_empty_decl()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation_empty">test_pytype_annotation_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include_from_filelike">test_xslt_include_from_filelike()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include">test_xslt_include()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_encoding">test_encoding()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_errors.ErrorTestCase-class.html#test_empty_parse">test_empty_parse()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_errors.ErrorTestCase-class.html">ErrorTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation_use_old">test_pytype_annotation_use_old()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input">test_xslt_input()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include_from_filelike">test_xslt_include_from_filelike()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_8bit_latin1">test_encoding_8bit_latin1()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding">test_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_deannotate">test_pytype_deannotate()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input_none">test_xslt_input_none()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input">test_xslt_input()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_8bit_parse_stringio">test_encoding_8bit_parse_stringio()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_encoding">test_encoding()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_xsitype_annotation">test_pytype_xsitype_annotation()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input_partial_doc">test_xslt_input_partial_doc()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input_none">test_xslt_input_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_8bit_xml">test_encoding_8bit_xml()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_8bit_latin1">test_encoding_8bit_latin1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname">test_qname()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_invalid_stylesheet">test_xslt_invalid_stylesheet()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input_partial_doc">test_xslt_input_partial_doc()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_exact">test_encoding_exact()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_8bit_parse_stringio">test_encoding_8bit_parse_stringio()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname_attrib">test_qname_attrib()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message">test_xslt_message()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_invalid_stylesheet">test_xslt_invalid_stylesheet()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_sub_tostring_default_encoding">test_encoding_sub_tostring_default_encoding()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_8bit_xml">test_encoding_8bit_xml()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname_attrib_resolve">test_qname_attrib_resolve()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message_terminate">test_xslt_message_terminate()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message">test_xslt_message()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring">test_encoding_tostring()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_exact">test_encoding_exact()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname_attribute_getset">test_qname_attribute_getset()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_move_result">test_xslt_move_result()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message_terminate">test_xslt_message_terminate()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring_default_encoding">test_encoding_tostring_default_encoding()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_sub_tostring_default_encoding">test_encoding_sub_tostring_default_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname_attribute_resolve">test_qname_attribute_resolve()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_multiple_parameters">test_xslt_multiple_parameters()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_move_result">test_xslt_move_result()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring_sub">test_encoding_tostring_sub()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring">test_encoding_tostring()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname_attribute_resolve_new">test_qname_attribute_resolve_new()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_multiple_transforms">test_xslt_multiple_transforms()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_multiple_parameters">test_xslt_multiple_parameters()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring_sub_tail">test_encoding_tostring_sub_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring_default_encoding">test_encoding_tostring_default_encoding()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname_cmp">test_qname_cmp()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_invalid">test_xslt_parameter_invalid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_multiple_transforms">test_xslt_multiple_transforms()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring_unknown">test_encoding_tostring_unknown()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring_sub">test_encoding_tostring_sub()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_qname_colon">test_qname_colon()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_missing">test_xslt_parameter_missing()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_invalid">test_xslt_parameter_invalid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_encoding_tostring_utf16">test_encoding_tostring_utf16()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring_sub_tail">test_encoding_tostring_sub_tail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_qname_element">test_qname_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_xpath">test_xslt_parameter_xpath()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_missing">test_xslt_parameter_missing()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_utf8_bom">test_encoding_utf8_bom()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring_unknown">test_encoding_tostring_unknown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_qname_empty">test_qname_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_xpath_object">test_xslt_parameter_xpath_object()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_xpath">test_xslt_parameter_xpath()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_write_default_encoding">test_encoding_write_default_encoding()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_encoding_tostring_utf16">test_encoding_tostring_utf16()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_qname_namespace_localname">test_qname_namespace_localname()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameters">test_xslt_parameters()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_xpath_object">test_xslt_parameter_xpath_object()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_append">test_entity_append()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_utf8_bom">test_encoding_utf8_bom()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_qname_space">test_qname_space()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi">test_xslt_pi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameters">test_xslt_parameters()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_error">test_entity_error()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_write_default_encoding">test_encoding_write_default_encoding()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_qname_text_resolve">test_qname_text_resolve()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_embedded_id">test_xslt_pi_embedded_id()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi">test_xslt_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_parse">test_entity_parse()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_append">test_entity_append()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_register_namespace">test_register_namespace()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_embedded_xmlid">test_xslt_pi_embedded_xmlid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_embedded_id">test_xslt_pi_embedded_id()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_restructure">test_entity_restructure()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_error">test_entity_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_registered_type_stringify">test_registered_type_stringify()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get">test_xslt_pi_get()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_embedded_xmlid">test_xslt_pi_embedded_xmlid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_values">test_entity_values()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_parse">test_entity_parse()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_registered_types">test_registered_types()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_all">test_xslt_pi_get_all()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get">test_xslt_pi_get()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_equal_input">test_equal_input()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_restructure">test_entity_restructure()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_registry">test_registry()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_all_reversed">test_xslt_pi_get_all_reversed()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_all">test_xslt_pi_get_all()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_errors-module.html">test_errors</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_values">test_entity_values()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_rel_xpath_boolean">test_rel_xpath_boolean()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_unknown">test_xslt_pi_get_unknown()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_all_reversed">test_xslt_pi_get_all_reversed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_escaping">test_escaping()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_equal_input">test_equal_input()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html#test_rel_xpath_list_elements">test_rel_xpath_list_elements()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_set_new">test_xslt_pi_set_new()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_unknown">test_xslt_pi_get_unknown()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree-module.html">test_etree</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_errors-module.html">test_errors</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng-module.html">test_relaxng</a><br />
<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_set_replace">test_xslt_pi_set_replace()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_set_new">test_xslt_pi_set_new()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_etree_parse_io_error">test_etree_parse_io_error()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_escaping">test_escaping()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng">test_relaxng()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_repeat_transform">test_xslt_repeat_transform()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_set_replace">test_xslt_pi_set_replace()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_attributes">test_etree_sax_attributes()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree-module.html">test_etree</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.RelaxNGCompactTestCase-class.html#test_relaxng_compact">test_relaxng_compact()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.RelaxNGCompactTestCase-class.html">RelaxNGCompactTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_resolver_url_building">test_xslt_resolver_url_building()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_repeat_transform">test_xslt_repeat_transform()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_comment">test_etree_sax_comment()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_etree_parse_io_error">test_etree_parse_io_error()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.RelaxNGCompactTestCase-class.html#test_relaxng_compact_file_obj">test_relaxng_compact_file_obj()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.RelaxNGCompactTestCase-class.html">RelaxNGCompactTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_bytearray">test_xslt_result_bytearray()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html">Py3XSLTTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_resolver_url_building">test_xslt_resolver_url_building()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_comment_root">test_etree_sax_comment_root()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_attributes">test_etree_sax_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.RelaxNGCompactTestCase-class.html#test_relaxng_compact_str">test_relaxng_compact_str()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.RelaxNGCompactTestCase-class.html">RelaxNGCompactTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_bytes">test_xslt_result_bytes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_bytearray">test_xslt_result_bytearray()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html">Py3XSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_double">test_etree_sax_double()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_comment">test_etree_sax_comment()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_elementtree_error">test_relaxng_elementtree_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_memoryview">test_xslt_result_memoryview()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_bytes">test_xslt_result_bytes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html">Py3XSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_error">test_etree_sax_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_comment_root">test_etree_sax_comment_root()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_error">test_relaxng_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_shortcut">test_xslt_shortcut()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_memoryview">test_xslt_result_memoryview()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html">Py3XSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_error2">test_etree_sax_error2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_double">test_etree_sax_double()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_include">test_relaxng_include()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_string_parameters">test_xslt_string_parameters()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_shortcut">test_xslt_shortcut()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_handler_default_ns">test_etree_sax_handler_default_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_error">test_etree_sax_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_invalid_schema">test_relaxng_invalid_schema()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode">test_xslt_unicode()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_string_parameters">test_xslt_string_parameters()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_handler_default_ns_None">test_etree_sax_handler_default_ns_None()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_error2">test_etree_sax_error2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_invalid_schema2">test_relaxng_invalid_schema2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode_standalone">test_xslt_unicode_standalone()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode">test_xslt_unicode()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_no_ns">test_etree_sax_no_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_handler_default_ns">test_etree_sax_handler_default_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_invalid_schema3">test_relaxng_invalid_schema3()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_utf8">test_xslt_utf8()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode_standalone">test_xslt_unicode_standalone()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_no_ns_attributes">test_etree_sax_no_ns_attributes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_handler_default_ns_None">test_etree_sax_handler_default_ns_None()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_invalid_schema4">test_relaxng_invalid_schema4()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_utf8">test_xslt_utf8()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_no_ns">test_etree_sax_no_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_shortcut">test_relaxng_shortcut()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests-module.html">tests</a><br />
<span class="index-where">(in <a href="lxml-module.html">lxml</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns1">test_etree_sax_ns1()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_no_ns_attributes">test_etree_sax_no_ns_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_shortcut">test_relaxng_shortcut()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_stringio">test_relaxng_stringio()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.QName-class.html#text">text</a><br />
<span class="index-where">(in <a href="lxml.etree.QName-class.html">QName</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns2">test_etree_sax_ns2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns1">test_etree_sax_ns1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng_stringio">test_relaxng_stringio()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_remove">test_remove()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#text">text</a><br />
<span class="index-where">(in <a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns_attributes">test_etree_sax_ns_attributes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns2">test_etree_sax_ns2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_remove">test_remove()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_remove_nonexisting">test_remove_nonexisting()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._Entity-class.html#text">text</a><br />
<span class="index-where">(in <a href="lxml.etree._Entity-class.html" onclick="show_private();">_Entity</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_pi">test_etree_sax_pi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns_attributes">test_etree_sax_ns_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_remove_nonexisting">test_remove_nonexisting()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_remove_ns">test_remove_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#text">text</a><br />
<span class="index-where">(in <a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_pi_root">test_etree_sax_pi_root()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_pi">test_etree_sax_pi()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_remove_ns">test_remove_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_remove_tail">test_remove_tail()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="xml.etree.ElementTree.Element-class.html#text">text</a><br />
<span class="index-where">(in <a href="xml.etree.ElementTree.Element-class.html">Element</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_redefine_ns">test_etree_sax_redefine_ns()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_pi_root">test_etree_sax_pi_root()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_remove_tail">test_remove_tail()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_replace">test_replace()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.doctestcompare.LXMLOutputChecker-class.html#text_compare">text_compare()</a><br />
<span class="index-where">(in <a href="lxml.doctestcompare.LXMLOutputChecker-class.html">LXMLOutputChecker</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_simple">test_etree_sax_simple()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_redefine_ns">test_etree_sax_redefine_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_replace">test_replace()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_replace_new">test_replace_new()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.HtmlMixin-class.html#text_content">text_content()</a><br />
<span class="index-where">(in <a href="lxml.html.HtmlMixin-class.html">HtmlMixin</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_events">test_events()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_replace_new">test_replace_new()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_simple">test_etree_sax_simple()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_replace_slice_tail">test_replace_slice_tail()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TEXTAREA">TEXTAREA</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_events_sequence">test_events_sequence()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_events">test_events()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_replace_slice_tail">test_replace_slice_tail()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_bytes_dtd">test_resolve_bytes_dtd()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.TextareaElement-class.html">TextareaElement</a></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_evil_class_lookup">test_evil_class_lookup()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_bytes_dtd">test_resolve_bytes_dtd()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_events_sequence">test_events_sequence()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_empty">test_resolve_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TFOOT">TFOOT</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_math">test_exslt_math()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_empty">test_resolve_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#test_evil_class_lookup">test_evil_class_lookup()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_error">test_resolve_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TH">TH</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match">test_exslt_regexp_match()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_math">test_exslt_math()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_error">test_resolve_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_file_dtd">test_resolve_file_dtd()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#THEAD">THEAD</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match1">test_exslt_regexp_match1()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match">test_exslt_regexp_match()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_file_dtd">test_resolve_file_dtd()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_filelike_dtd">test_resolve_filelike_dtd()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_builder-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_builder-module.html">lxml.tests.test_builder</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match2">test_exslt_regexp_match2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match1">test_exslt_regexp_match1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_filelike_dtd">test_resolve_filelike_dtd()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_filename_dtd">test_resolve_filename_dtd()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_classlookup-module.html">lxml.tests.test_classlookup</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match_groups">test_exslt_regexp_match_groups()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match2">test_exslt_regexp_match2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_filename_dtd">test_resolve_filename_dtd()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_filename_dtd_relative">test_resolve_filename_dtd_relative()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_dtd-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd-module.html">lxml.tests.test_dtd</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_replace">test_exslt_regexp_replace()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match_groups">test_exslt_regexp_match_groups()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_filename_dtd_relative">test_resolve_filename_dtd_relative()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_string_dtd">test_resolve_string_dtd()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree-module.html">lxml.tests.test_elementtree</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_test">test_exslt_regexp_test()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_replace">test_exslt_regexp_replace()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_string_dtd">test_resolve_string_dtd()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_root">test_root()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_errors-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_errors-module.html">lxml.tests.test_errors</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_str">test_exslt_str()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_test">test_exslt_regexp_test()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_root">test_root()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax-module.html">test_sax</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_htmlparser-module.html">lxml.tests.test_htmlparser</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_str_attribute_replace">test_exslt_str_attribute_replace()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_str">test_exslt_str()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax-module.html">test_sax</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_sax_to_pulldom">test_sax_to_pulldom()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_http_io-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_http_io-module.html">lxml.tests.test_http_io</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_extend">test_extend()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_sax_to_pulldom">test_sax_to_pulldom()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_str_attribute_replace">test_exslt_str_attribute_replace()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types">test_schema_types()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile-module.html">lxml.tests.test_incremental_xmlfile</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element">test_extension_element()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types">test_schema_types()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_extend">test_extend()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types_prefixed">test_schema_types_prefixed()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_io-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_io-module.html">lxml.tests.test_io</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates">test_extension_element_apply_templates()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element">test_extension_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types_prefixed">test_schema_types_prefixed()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_schematron-module.html">test_schematron</a><br />
+<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron-module.html">lxml.tests.test_isoschematron</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_elements_only">test_extension_element_apply_templates_elements_only()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates">test_extension_element_apply_templates()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_schematron-module.html">test_schematron</a><br />
-<span class="index-where">(in <a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron">test_schematron()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_nsclasses-module.html">lxml.tests.test_nsclasses</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_remove_blank_text">test_extension_element_apply_templates_remove_blank_text()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_elements_only">test_extension_element_apply_templates_elements_only()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron">test_schematron()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron">test_schematron()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify-module.html">lxml.tests.test_objectify</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_target_node">test_extension_element_apply_templates_target_node()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_remove_blank_text">test_extension_element_apply_templates_remove_blank_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron">test_schematron()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_abstract">test_schematron_abstract()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_pyclasslookup-module.html">lxml.tests.test_pyclasslookup</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_target_node_doc">test_extension_element_apply_templates_target_node_doc()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_target_node">test_extension_element_apply_templates_target_node()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_abstract">test_schematron_abstract()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_assertValid">test_schematron_assertValid()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_relaxng-module.html">lxml.tests.test_relaxng</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_comment_pi_context">test_extension_element_comment_pi_context()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_target_node_doc">test_extension_element_apply_templates_target_node_doc()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_assertValid">test_schematron_assertValid()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_call">test_schematron_call()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_sax-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_sax-module.html">lxml.tests.test_sax</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_content">test_extension_element_content()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_comment_pi_context">test_extension_element_comment_pi_context()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_call">test_schematron_call()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_customization">test_schematron_customization()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_schematron-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_schematron-module.html">lxml.tests.test_schematron</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_doc_context">test_extension_element_doc_context()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_content">test_extension_element_content()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_customization">test_schematron_customization()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_elementtree_error">test_schematron_elementtree_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_threading-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_threading-module.html">lxml.tests.test_threading</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children">test_extension_element_process_children()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_doc_context">test_extension_element_doc_context()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_elementtree_error">test_schematron_elementtree_error()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron_elementtree_error">test_schematron_elementtree_error()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_unicode-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_unicode-module.html">lxml.tests.test_unicode</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_to_append_only">test_extension_element_process_children_to_append_only()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children">test_extension_element_process_children()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron_elementtree_error">test_schematron_elementtree_error()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_empty_pattern">test_schematron_empty_pattern()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xmlschema-module.html">lxml.tests.test_xmlschema</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_to_read_only_raise">test_extension_element_process_children_to_read_only_raise()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_to_append_only">test_extension_element_process_children_to_append_only()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_empty_pattern">test_schematron_empty_pattern()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_error_log">test_schematron_error_log()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xpathevaluator-module.html">lxml.tests.test_xpathevaluator</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_with_subextension_element">test_extension_element_process_children_with_subextension_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_to_read_only_raise">test_extension_element_process_children_to_read_only_raise()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_error_log">test_schematron_error_log()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_fail_on_report">test_schematron_fail_on_report()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_xslt-module.html#this_dir">this_dir</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt-module.html">lxml.tests.test_xslt</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_raise">test_extension_element_raise()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_with_subextension_element">test_extension_element_process_children_with_subextension_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_fail_on_report">test_schematron_fail_on_report()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_from_element">test_schematron_from_element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a><br />
<span class="index-where">(in <a href="lxml.tests.test_threading-module.html">lxml.tests.test_threading</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_extensions1">test_extensions1()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_from_element">test_schematron_from_element()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_raise">test_extension_element_raise()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_from_file">test_schematron_from_file()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadPipelineTestCase-class.html">ThreadPipelineTestCase</a><br />
<span class="index-where">(in <a href="lxml.tests.test_threading-module.html">lxml.tests.test_threading</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_extensions2">test_extensions2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_extensions1">test_extensions1()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_from_file">test_schematron_from_file()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_from_tree">test_schematron_from_tree()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.diff.InsensitiveSequenceMatcher-class.html#threshold">threshold</a><br />
<span class="index-where">(in <a href="lxml.html.diff.InsensitiveSequenceMatcher-class.html" onclick="show_private();">InsensitiveSequenceMatcher</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_extra_attributes">test_extra_attributes()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_from_tree">test_schematron_from_tree()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_extensions2">test_extensions2()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_invalid_args">test_schematron_invalid_args()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TITLE">TITLE</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_extra_children">test_extra_children()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_extra_attributes">test_extra_attributes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_invalid_args">test_schematron_invalid_args()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron_invalid_schema">test_schematron_invalid_schema()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.Classes-class.html#toggle">toggle()</a><br />
<span class="index-where">(in <a href="lxml.html.Classes-class.html">Classes</a>)</span></td>
</tr>
<tr>
+<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html#test_extra_children">test_extra_children()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_invalid_schema_empty">test_schematron_invalid_schema_empty()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff.token-class.html">token</a><br />
+<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+</tr>
+<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_preceding_text">test_failure_preceding_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron_invalid_schema">test_schematron_invalid_schema()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron_invalid_schema_empty">test_schematron_invalid_schema_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff.token-class.html">token</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#tokenize">tokenize()</a><br />
<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_trailing_Element">test_failure_trailing_Element()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_invalid_schema_empty">test_schematron_invalid_schema_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_invalid_schema_namespace">test_schematron_invalid_schema_namespace()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#tokenize">tokenize()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#tokenize_annotated">tokenize_annotated()</a><br />
<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_trailing_text">test_failure_trailing_text()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron_invalid_schema_empty">test_schematron_invalid_schema_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron_invalid_schema_namespace">test_schematron_invalid_schema_namespace()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#tokenize_annotated">tokenize_annotated()</a><br />
-<span class="index-where">(in <a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_bytes">test_feed_parser_bytes()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_invalid_schema_namespace">test_schematron_invalid_schema_namespace()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.defs-module.html#top_level_tags">top_level_tags</a><br />
<span class="index-where">(in <a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_error_broken">test_feed_parser_error_broken()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_bytes">test_feed_parser_bytes()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html#test_schematron_invalid_schema_namespace">test_schematron_invalid_schema_namespace()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_phases">test_schematron_phases()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.XSLT-class.html#tostring">tostring()</a><br />
<span class="index-where">(in <a href="lxml.etree.XSLT-class.html">XSLT</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_error_close_empty">test_feed_parser_error_close_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_error_broken">test_feed_parser_error_broken()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_phases">test_schematron_phases()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_phases_kwarg">test_schematron_phases_kwarg()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree-module.html#tostring">tostring()</a><br />
<span class="index-where">(in <a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_error_close_incomplete">test_feed_parser_error_close_incomplete()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_error_close_empty">test_feed_parser_error_close_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_phases_kwarg">test_schematron_phases_kwarg()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_relaxng_embedded">test_schematron_relaxng_embedded()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree-module.html#tostringlist">tostringlist()</a><br />
<span class="index-where">(in <a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_error_position">test_feed_parser_error_position()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_error_close_incomplete">test_feed_parser_error_close_incomplete()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_relaxng_embedded">test_schematron_relaxng_embedded()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_result_report">test_schematron_result_report()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree-module.html#tounicode">tounicode()</a><br />
<span class="index-where">(in <a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_feed_parser_recover">test_feed_parser_recover()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_result_report">test_schematron_result_report()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_error_position">test_feed_parser_error_position()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_store_schematron">test_schematron_store_schematron()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TR">TR</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_feed_parser_recover_no_id_dict">test_feed_parser_recover_no_id_dict()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_feed_parser_recover">test_feed_parser_recover()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_store_schematron">test_schematron_store_schematron()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_store_xslt">test_schematron_store_xslt()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#TREE">TREE</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_unicode">test_feed_parser_unicode()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_store_xslt">test_schematron_store_xslt()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_feed_parser_recover_no_id_dict">test_feed_parser_recover_no_id_dict()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_validate">test_schematron_validate()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#TREE_INVALID_DEC">TREE_INVALID_DEC</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_feed_while_iterating">test_feed_while_iterating()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_validate">test_schematron_validate()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_feed_parser_unicode">test_feed_parser_unicode()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_xmlschema_embedded">test_schematron_xmlschema_embedded()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#TREE_INVALID_HEX">TREE_INVALID_HEX</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html#test_filelike_close">test_filelike_close()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html">BytesIOXmlFileTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_xmlschema_embedded">test_schematron_xmlschema_embedded()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html#test_feed_while_iterating">test_feed_while_iterating()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html" onclick="show_private();">_XMLPullParserTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_set_decl_html">test_set_decl_html()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#TREE_NOT_UTF8">TREE_NOT_UTF8</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#test_filelike_close">test_filelike_close()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#test_set_decl_html">test_set_decl_html()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html#test_filelike_close">test_filelike_close()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html">BytesIOXmlFileTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_set_decl_public">test_set_decl_public()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.tests.test_objectify-module.html#TREE_PYTYPE">TREE_PYTYPE</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify-module.html">lxml.tests.test_objectify</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#test_filelike_not_closing">test_filelike_not_closing()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#test_filelike_close">test_filelike_close()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_set_decl_public">test_set_decl_public()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_set_decl_system">test_set_decl_system()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#TREE_UNTERMINATED_ENTITY">TREE_UNTERMINATED_ENTITY</a><br />
<span class="index-where">(in <a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_findall">test_findall()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html#test_set_decl_system">test_set_decl_system()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#test_filelike_not_closing">test_filelike_not_closing()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_set_string">test_set_string()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree.TreeBuilder-class.html">TreeBuilder</a><br />
<span class="index-where">(in <a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_findall">test_findall()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_set_string">test_set_string()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_findall">test_findall()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text">test_set_text()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="xml.etree.ElementTree.TreeBuilder-class.html">TreeBuilder</a></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_different_nsmaps">test_findall_different_nsmaps()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text">test_set_text()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_findall">test_findall()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text2">test_set_text2()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TT">TT</a><br />
<span class="index-where">(in <a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_empty_prefix">test_findall_empty_prefix()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_different_nsmaps">test_findall_different_nsmaps()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text2">test_set_text2()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text_empty">test_set_text_empty()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._LogEntry-class.html#type">type</a><br />
<span class="index-where">(in <a href="lxml.etree._LogEntry-class.html" onclick="show_private();">_LogEntry</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_findall_ns">test_findall_ns()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text_empty">test_set_text_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_empty_prefix">test_findall_empty_prefix()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text_none">test_set_text_none()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#type">type</a><br />
<span class="index-where">(in <a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_ns">test_findall_ns()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text_none">test_set_text_none()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_findall_ns">test_findall_ns()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setattr">test_setattr()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.objectify.PyType-class.html#type_check">type_check</a><br />
<span class="index-where">(in <a href="lxml.objectify.PyType-class.html">PyType</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_findall_ns">test_findall_ns()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setattr">test_setattr()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_ns">test_findall_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setattr_nonunicode">test_setattr_nonunicode()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
<td width="33%" class="link-index"><a href="lxml.etree._LogEntry-class.html#type_name">type_name</a><br />
<span class="index-where">(in <a href="lxml.etree._LogEntry-class.html" onclick="show_private();">_LogEntry</a>)</span></td>
</tr>
<tr>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_findall_ns">test_findall_ns()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem">test_setitem()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_syntax_error">test_findall_syntax_error()</a><br />
<span class="index-where">(in <a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_setattr_nonunicode">test_setattr_nonunicode()</a><br />
-<span class="index-where">(in <a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem2">test_setitem2()</a><br />
+<span class="index-where">(in <a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
<td width="33%" class="link-index"> </td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:03 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:27 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<hr />
<div class="fields"> <p><strong>Version:</strong>
- 3.6.0
+ 3.6.1
</p>
</div><!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<span class="summary-type"> </span>
</td><td class="summary">
<a href="lxml.etree.HTMLParser-class.html" class="summary-name">HTMLParser</a><br />
- HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, XMLSchema schema=None, recover=True, compact=True)
+ HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, schema: XMLSchema =None, recover=True, compact=True)
</td>
</tr>
<tr class="private">
<span class="summary-type"> </span>
</td><td class="summary">
<a href="lxml.etree.XMLParser-class.html" class="summary-name">XMLParser</a><br />
- XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, XMLSchema schema=None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
+ XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema: XMLSchema =None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="LXML_VERSION"></a><span class="summary-name">LXML_VERSION</span> = <code title="(3, 6, 0, 0)"><code class="variable-group">(</code>3<code class="variable-op">, </code>6<code class="variable-op">, </code>0<code class="variable-op">, </code>0<code class="variable-group">)</code></code>
+ <a name="LXML_VERSION"></a><span class="summary-name">LXML_VERSION</span> = <code title="(3, 6, 1, 0)"><code class="variable-group">(</code>3<code class="variable-op">, </code>6<code class="variable-op">, </code>1<code class="variable-op">, </code>0<code class="variable-group">)</code></code>
</td>
</tr>
<tr class="private">
<span class="summary-type"> </span>
</td><td class="summary">
<a href="lxml.etree-module.html#__pyx_capi__" class="summary-name" onclick="show_private();">__pyx_capi__</a> = <code title="{'appendChild': <capsule object "void (struct LxmlElement *, struct Lx\
-mlElement *)" at 0x2ad9e6c47450>,
+mlElement *)" at 0x2b8b5c8483f0>,
'appendChildToElement': <capsule object "int (struct LxmlElement *, s\
-truct LxmlElement *)" at 0x2ad9e6c47480>,
+truct LxmlElement *)" at 0x2b8b5c848420>,
'attributeValue': <capsule object "PyObject *(xmlNode *, xmlAttr *)" \
-at 0x2ad9e6c47120>,
+at 0x2b8b5c8480c0>,
'attributeValueFromNsName': <capsule object "PyObject *(xmlNode *, co\
-nst xmlChar *, const xmlChar *)" at 0x2ad9e6c47150>,
+nst xmlChar *, const xmlChar *)" at 0x2b8b5c8480f0>,
..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">appendChild</code><code class="variable-quote">'</code><code class="variable-op">: </code><capsule object "void (struct L<code class="variable-ellipsis">...</code></code>
</td>
</tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="memory_debugger"></a><span class="summary-name">memory_debugger</span> = <code title="<lxml.etree._MemDebug object at 0x2ad9e291f8a0>"><lxml.etree._MemDebug object at 0x2ad9e291f8a0></code>
+ <a name="memory_debugger"></a><span class="summary-name">memory_debugger</span> = <code title="<lxml.etree._MemDebug object at 0x2b8b585208a0>"><lxml.etree._MemDebug object at 0x2b8b585208a0></code>
</td>
</tr>
</table>
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">appendChild</code><code class="variable-quote">'</code><code class="variable-op">: </code><capsule object "void (struct LxmlElement *, struct Lx<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-mlElement *)" at 0x2ad9e6c47450><code class="variable-op">,</code>
+mlElement *)" at 0x2b8b5c8483f0><code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">appendChildToElement</code><code class="variable-quote">'</code><code class="variable-op">: </code><capsule object "int (struct LxmlElement *, s<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-truct LxmlElement *)" at 0x2ad9e6c47480><code class="variable-op">,</code>
+truct LxmlElement *)" at 0x2b8b5c848420><code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">attributeValue</code><code class="variable-quote">'</code><code class="variable-op">: </code><capsule object "PyObject *(xmlNode *, xmlAttr *)" <span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-at 0x2ad9e6c47120><code class="variable-op">,</code>
+at 0x2b8b5c8480c0><code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">attributeValueFromNsName</code><code class="variable-quote">'</code><code class="variable-op">: </code><capsule object "PyObject *(xmlNode *, co<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-nst xmlChar *, const xmlChar *)" at 0x2ad9e6c47150><code class="variable-op">,</code>
+nst xmlChar *, const xmlChar *)" at 0x2b8b5c8480f0><code class="variable-op">,</code>
<code class="variable-ellipsis">...</code>
</pre></td></tr></table>
</dd>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
</dd></dl>
<hr />
-<p>HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, XMLSchema schema=None, recover=True, compact=True)</p>
+<p>HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, schema: XMLSchema =None, recover=True, compact=True)</p>
<p>The HTML parser.</p>
<p>This parser allows reading HTML into a normal XML tree. By
default, it can read broken (non well-formed) HTML, depending on
<span class="summary-sig-arg">strip_cdata</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">no_network</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">target</span>=<span class="summary-sig-default">None</span>,
- <span class="summary-sig-arg">XMLSchema schema</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">schema: XMLSchema</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">recover</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">compact</span>=<span class="summary-sig-default">True</span>)</span><br />
x.__init__(...) initializes x; see help(type(x)) for signature</td>
<span class="sig-arg">strip_cdata</span>=<span class="sig-default">True</span>,
<span class="sig-arg">no_network</span>=<span class="sig-default">True</span>,
<span class="sig-arg">target</span>=<span class="sig-default">None</span>,
- <span class="sig-arg">XMLSchema schema</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">schema: XMLSchema</span>=<span class="sig-default">None</span>,
<span class="sig-arg">recover</span>=<span class="sig-default">True</span>,
<span class="sig-arg">compact</span>=<span class="sig-default">True</span>)</span>
<br /><em class="fname">(Constructor)</em>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
</dd></dl>
<hr />
-<p>XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, XMLSchema schema=None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)</p>
+<p>XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema: XMLSchema =None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)</p>
<p>The XML parser.</p>
<p>Parsers can be supplied as additional argument to various parse
functions of the lxml API. A default parser is always available
<span class="summary-sig-arg">no_network</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">ns_clean</span>=<span class="summary-sig-default">False</span>,
<span class="summary-sig-arg">recover</span>=<span class="summary-sig-default">False</span>,
- <span class="summary-sig-arg">XMLSchema schema</span>=<span class="summary-sig-default">None</span>,
+ <span class="summary-sig-arg">schema: XMLSchema</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">remove_blank_text</span>=<span class="summary-sig-default">False</span>,
<span class="summary-sig-arg">resolve_entities</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">remove_comments</span>=<span class="summary-sig-default">False</span>,
<span class="sig-arg">no_network</span>=<span class="sig-default">True</span>,
<span class="sig-arg">ns_clean</span>=<span class="sig-default">False</span>,
<span class="sig-arg">recover</span>=<span class="sig-default">False</span>,
- <span class="sig-arg">XMLSchema schema</span>=<span class="sig-default">None</span>,
+ <span class="sig-arg">schema: XMLSchema</span>=<span class="sig-default">None</span>,
<span class="sig-arg">remove_blank_text</span>=<span class="sig-default">False</span>,
<span class="sig-arg">resolve_entities</span>=<span class="sig-default">True</span>,
<span class="sig-arg">remove_comments</span>=<span class="sig-default">False</span>,
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="find_class"></a><span class="summary-name">find_class</span> = <code title="<lxml.html._MethodFunc object at 0x2ad9e7dffa50>"><lxml.html._MethodFunc object at 0x2ad9e7dffa50></code>
+ <a name="find_class"></a><span class="summary-name">find_class</span> = <code title="<lxml.html._MethodFunc object at 0x2b8b5da01ad0>"><lxml.html._MethodFunc object at 0x2b8b5da01ad0></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="find_rel_links"></a><span class="summary-name">find_rel_links</span> = <code title="<lxml.html._MethodFunc object at 0x2ad9e7dffa10>"><lxml.html._MethodFunc object at 0x2ad9e7dffa10></code>
+ <a name="find_rel_links"></a><span class="summary-name">find_rel_links</span> = <code title="<lxml.html._MethodFunc object at 0x2b8b5da01a90>"><lxml.html._MethodFunc object at 0x2b8b5da01a90></code>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="html_parser"></a><span class="summary-name">html_parser</span> = <code title="<lxml.html.HTMLParser object at 0x2ad9e7daa7e0>"><lxml.html.HTMLParser object at 0x2ad9e7daa7e0></code>
+ <a name="html_parser"></a><span class="summary-name">html_parser</span> = <code title="<lxml.html.HTMLParser object at 0x2b8b5d9a6890>"><lxml.html.HTMLParser object at 0x2b8b5d9a6890></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="iterlinks"></a><span class="summary-name">iterlinks</span> = <code title="<lxml.html._MethodFunc object at 0x2ad9e7dffb10>"><lxml.html._MethodFunc object at 0x2ad9e7dffb10></code>
+ <a name="iterlinks"></a><span class="summary-name">iterlinks</span> = <code title="<lxml.html._MethodFunc object at 0x2b8b5da01b90>"><lxml.html._MethodFunc object at 0x2b8b5da01b90></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.html-module.html#make_links_absolute" class="summary-name">make_links_absolute</a> = <code title="<lxml.html._MethodFunc object at 0x2ad9e7dffa90>"><lxml.html._MethodFunc object at 0x2ad9e<code class="variable-ellipsis">...</code></code>
+ <a href="lxml.html-module.html#make_links_absolute" class="summary-name">make_links_absolute</a> = <code title="<lxml.html._MethodFunc object at 0x2b8b5da01b10>"><lxml.html._MethodFunc object at 0x2b8b5<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.html-module.html#resolve_base_href" class="summary-name">resolve_base_href</a> = <code title="<lxml.html._MethodFunc object at 0x2ad9e7dffad0>"><lxml.html._MethodFunc object at 0x2ad9e7d<code class="variable-ellipsis">...</code></code>
+ <a href="lxml.html-module.html#resolve_base_href" class="summary-name">resolve_base_href</a> = <code title="<lxml.html._MethodFunc object at 0x2b8b5da01b50>"><lxml.html._MethodFunc object at 0x2b8b5da<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="rewrite_links"></a><span class="summary-name">rewrite_links</span> = <code title="<lxml.html._MethodFunc object at 0x2ad9e7dffb50>"><lxml.html._MethodFunc object at 0x2ad9e7dffb50></code>
+ <a name="rewrite_links"></a><span class="summary-name">rewrite_links</span> = <code title="<lxml.html._MethodFunc object at 0x2b8b5da01bd0>"><lxml.html._MethodFunc object at 0x2b8b5da01bd0></code>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="xhtml_parser"></a><span class="summary-name">xhtml_parser</span> = <code title="<lxml.html.XHTMLParser object at 0x2ad9e7daa890>"><lxml.html.XHTMLParser object at 0x2ad9e7daa890></code>
+ <a name="xhtml_parser"></a><span class="summary-name">xhtml_parser</span> = <code title="<lxml.html.XHTMLParser object at 0x2b8b5d9a6940>"><lxml.html.XHTMLParser object at 0x2b8b5d9a6940></code>
</td>
</tr>
</table>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
-<lxml.html._MethodFunc object at 0x2ad9e7dffa90>
+<lxml.html._MethodFunc object at 0x2b8b5da01b10>
</pre></td></tr></table>
</dd>
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
-<lxml.html._MethodFunc object at 0x2ad9e7dffad0>
+<lxml.html._MethodFunc object at 0x2b8b5da01b50>
</pre></td></tr></table>
</dd>
</dl>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<a name="L1028"></a><tt class="py-lineno">1028</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-568" class="py-name" targets="Variable lxml.html.InputElement.checkable=lxml.html.InputElement-class.html#checkable"><a title="lxml.html.InputElement.checkable" class="py-name" href="#" onclick="return doclink('link-568', 'checkable', 'link-568');">checkable</a></tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-569" class="py-name" targets="Variable lxml.html.InputElement.checked=lxml.html.InputElement-class.html#checked"><a title="lxml.html.InputElement.checked" class="py-name" href="#" onclick="return doclink('link-569', 'checked', 'link-569');">checked</a></tt><tt class="py-op">:</tt> </tt>
<a name="L1029"></a><tt class="py-lineno">1029</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
<a name="L1030"></a><tt class="py-lineno">1030</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-570" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-570', 'type', 'link-275');">type</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'submit'</tt><tt class="py-op">,</tt> <tt class="py-string">'image'</tt><tt class="py-op">,</tt> <tt class="py-string">'reset'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-570', 'type', 'link-275');">type</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'submit'</tt><tt class="py-op">,</tt> <tt class="py-string">'image'</tt><tt class="py-op">,</tt> <tt class="py-string">'reset'</tt><tt class="py-op">,</tt> <tt class="py-string">'file'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L1031"></a><tt class="py-lineno">1031</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
<a name="L1032"></a><tt class="py-lineno">1032</tt> <tt class="py-line"> <tt id="link-571" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a href="lxml.html.Classes-class.html#_abc_negative_cache" class="summary-name" onclick="show_private();">_abc_negative_cache</a> = <code title="<_weakrefset.WeakSet object at 0x2ad9e7dff890>"><_weakrefset.WeakSet object at 0x2ad9e7d<code class="variable-ellipsis">...</code></code>
+ <a href="lxml.html.Classes-class.html#_abc_negative_cache" class="summary-name" onclick="show_private();">_abc_negative_cache</a> = <code title="<_weakrefset.WeakSet object at 0x2b8b5da01910>"><_weakrefset.WeakSet object at 0x2b8b5da<code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="_abc_registry"></a><span class="summary-name">_abc_registry</span> = <code title="<_weakrefset.WeakSet object at 0x2ad9e7dff250>"><_weakrefset.WeakSet object at 0x2ad9e7dff250></code>
+ <a name="_abc_registry"></a><span class="summary-name">_abc_registry</span> = <code title="<_weakrefset.WeakSet object at 0x2b8b5da012d0>"><_weakrefset.WeakSet object at 0x2b8b5da012d0></code>
</td>
</tr>
<tr>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
-<_weakrefset.WeakSet object at 0x2ad9e7dff890>
+<_weakrefset.WeakSet object at 0x2b8b5da01910>
</pre></td></tr></table>
</dd>
</dl>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:27 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a href="lxml.html.FieldsDict-class.html#_abc_negative_cache" class="summary-name" onclick="show_private();">_abc_negative_cache</a> = <code title="<_weakrefset.WeakSet object at 0x2ad9e7dffd90>"><_weakrefset.WeakSet object at 0x2ad9e7d<code class="variable-ellipsis">...</code></code>
+ <a href="lxml.html.FieldsDict-class.html#_abc_negative_cache" class="summary-name" onclick="show_private();">_abc_negative_cache</a> = <code title="<_weakrefset.WeakSet object at 0x2b8b5da01e10>"><_weakrefset.WeakSet object at 0x2b8b5da<code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="_abc_registry"></a><span class="summary-name">_abc_registry</span> = <code title="<_weakrefset.WeakSet object at 0x2ad9e7dffc50>"><_weakrefset.WeakSet object at 0x2ad9e7dffc50></code>
+ <a name="_abc_registry"></a><span class="summary-name">_abc_registry</span> = <code title="<_weakrefset.WeakSet object at 0x2b8b5da01cd0>"><_weakrefset.WeakSet object at 0x2b8b5da01cd0></code>
</td>
</tr>
<tr>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
-<_weakrefset.WeakSet object at 0x2ad9e7dffd90>
+<_weakrefset.WeakSet object at 0x2b8b5da01e10>
</pre></td></tr></table>
</dd>
</dl>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:27 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-string">"descendant-or-self::x:a[normalize-space(@href) and substring(normalize-space(@href),1,1) != '#']"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'x'</tt><tt class="py-op">:</tt><tt id="link-42" class="py-name"><a title="lxml.html.XHTML_NAMESPACE" class="py-name" href="#" onclick="return doclink('link-42', 'XHTML_NAMESPACE', 'link-11');">XHTML_NAMESPACE</a></tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> </tt>
-<a name="Cleaner"></a><div id="Cleaner-def"><a name="L98"></a><tt class="py-lineno"> 98</tt> <a class="py-toggle" href="#" id="Cleaner-toggle" onclick="return toggle('Cleaner');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html">Cleaner</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Cleaner-expanded"><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> Instances cleans the document of each of the possible offending</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> elements. The cleaning is controlled by attributes; you can</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> override attributes in a subclass, or set them in the constructor.</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> ``scripts``:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> Removes any ``<script>`` tags.</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"> ``javascript``:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> Removes any Javascript, like an ``onclick`` attribute. Also removes stylesheets</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> as they could contain Javascript.</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> ``comments``:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> Removes any comments.</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> ``style``:</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"> Removes any style tags or attributes.</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> ``links``:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> Removes any ``<link>`` tags</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> ``meta``:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> Removes any ``<meta>`` tags</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> ``page_structure``:</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> Structural parts of a page: ``<head>``, ``<html>``, ``<title>``.</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> ``processing_instructions``:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> Removes any processing instructions.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"> ``embedded``:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> Removes any embedded objects (flash, iframes)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> ``frames``:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> Removes any frame-related tags</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"> ``forms``:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"> Removes any form tags</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"> ``annoying_tags``:</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> Tags that aren't *wrong*, but are annoying. ``<blink>`` and ``<marquee>``</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"> ``remove_tags``:</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"> A list of tags to remove. Only the tags will be removed,</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> their content will get pulled up into the parent tag.</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt>
+<a name="Cleaner"></a><div id="Cleaner-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="Cleaner-toggle" onclick="return toggle('Cleaner');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html">Cleaner</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Cleaner-expanded"><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"> Instances cleans the document of each of the possible offending</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> elements. The cleaning is controlled by attributes; you can</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> override attributes in a subclass, or set them in the constructor.</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> ``scripts``:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> Removes any ``<script>`` tags.</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> ``javascript``:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> Removes any Javascript, like an ``onclick`` attribute. Also removes stylesheets</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"> as they could contain Javascript.</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> ``comments``:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"> Removes any comments.</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"> ``style``:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"> Removes any style tags.</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> ``inline_style``</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> Removes any style attributes. Defaults to the value of the ``style`` option.</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> ``links``:</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> Removes any ``<link>`` tags</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> ``meta``:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> Removes any ``<meta>`` tags</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> ``page_structure``:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> Structural parts of a page: ``<head>``, ``<html>``, ``<title>``.</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> ``processing_instructions``:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> Removes any processing instructions.</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> ``embedded``:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> Removes any embedded objects (flash, iframes)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"> ``frames``:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"> Removes any frame-related tags</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> ``forms``:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> Removes any form tags</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"> ``annoying_tags``:</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> Tags that aren't *wrong*, but are annoying. ``<blink>`` and ``<marquee>``</tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> ``kill_tags``:</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> A list of tags to kill. Killing also removes the tag's content,</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"> i.e. the whole subtree, not just the tag itself.</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> ``remove_tags``:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> A list of tags to remove. Only the tags will be removed,</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"> their content will get pulled up into the parent tag.</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> ``allow_tags``:</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"> A list of tags to include (default include all).</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> ``remove_unknown_tags``:</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> Remove any tags that aren't standard parts of HTML.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> ``safe_attrs_only``:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> If true, only include 'safe' attributes (specifically the list</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> from the feedparser HTML sanitisation web site).</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> ``kill_tags``:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"> A list of tags to kill. Killing also removes the tag's content,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"> i.e. the whole subtree, not just the tag itself.</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"> ``allow_tags``:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> A list of tags to include (default include all).</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> ``remove_unknown_tags``:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> Remove any tags that aren't standard parts of HTML.</tt> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> ``safe_attrs``:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> A set of attribute names to override the default list of attributes</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> considered 'safe' (when safe_attrs_only=True).</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> ``safe_attrs_only``:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> If true, only include 'safe' attributes (specifically the list</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> from the feedparser HTML sanitisation web site).</tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> ``add_nofollow``:</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> If true, then any <a> tags will have ``rel="nofollow"`` added to them.</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"> ``host_whitelist``:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> A list or set of hosts that you can use for embedded content</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> (for content like ``<object>``, ``<link rel="stylesheet">``, etc).</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"> You can also implement/override the method</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> ``allow_embedded_url(el, url)`` or ``allow_element(el)`` to</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> implement more complex rules for what can be embedded.</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> Anything that passes this test will be shown, regardless of</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> the value of (for instance) ``embedded``.</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> Note that this parameter might not work as intended if you do not</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"> make the links absolute before doing the cleaning.</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> Note that you may also need to set ``whitelist_tags``.</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> ``whitelist_tags``:</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"> A set of tags that can be included with ``host_whitelist``.</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> The default is ``iframe`` and ``embed``; you may wish to</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"> include other tags like ``script``, or you may want to</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> implement ``allow_embedded_url`` for more control. Set to None to</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> include all tags.</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> This modifies the document *in place*.</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt id="link-43" class="py-name" targets="Variable lxml.html.clean.Cleaner.scripts=lxml.html.clean.Cleaner-class.html#scripts"><a title="lxml.html.clean.Cleaner.scripts" class="py-name" href="#" onclick="return doclink('link-43', 'scripts', 'link-43');">scripts</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt id="link-44" class="py-name" targets="Variable lxml.html.clean.Cleaner.javascript=lxml.html.clean.Cleaner-class.html#javascript"><a title="lxml.html.clean.Cleaner.javascript" class="py-name" href="#" onclick="return doclink('link-44', 'javascript', 'link-44');">javascript</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt id="link-45" class="py-name" targets="Variable lxml.html.clean.Cleaner.comments=lxml.html.clean.Cleaner-class.html#comments"><a title="lxml.html.clean.Cleaner.comments" class="py-name" href="#" onclick="return doclink('link-45', 'comments', 'link-45');">comments</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt id="link-46" class="py-name" targets="Variable lxml.html.clean.Cleaner.style=lxml.html.clean.Cleaner-class.html#style"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-46', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt id="link-47" class="py-name" targets="Variable lxml.html.clean.Cleaner.links=lxml.html.clean.Cleaner-class.html#links"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-47', 'links', 'link-47');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt id="link-48" class="py-name" targets="Variable lxml.html.clean.Cleaner.meta=lxml.html.clean.Cleaner-class.html#meta"><a title="lxml.html.clean.Cleaner.meta" class="py-name" href="#" onclick="return doclink('link-48', 'meta', 'link-48');">meta</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt id="link-49" class="py-name" targets="Variable lxml.html.clean.Cleaner.page_structure=lxml.html.clean.Cleaner-class.html#page_structure"><a title="lxml.html.clean.Cleaner.page_structure" class="py-name" href="#" onclick="return doclink('link-49', 'page_structure', 'link-49');">page_structure</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt id="link-50" class="py-name" targets="Variable lxml.html.clean.Cleaner.processing_instructions=lxml.html.clean.Cleaner-class.html#processing_instructions"><a title="lxml.html.clean.Cleaner.processing_instructions" class="py-name" href="#" onclick="return doclink('link-50', 'processing_instructions', 'link-50');">processing_instructions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt id="link-51" class="py-name" targets="Variable lxml.html.clean.Cleaner.embedded=lxml.html.clean.Cleaner-class.html#embedded"><a title="lxml.html.clean.Cleaner.embedded" class="py-name" href="#" onclick="return doclink('link-51', 'embedded', 'link-51');">embedded</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt id="link-52" class="py-name" targets="Variable lxml.html.clean.Cleaner.frames=lxml.html.clean.Cleaner-class.html#frames"><a title="lxml.html.clean.Cleaner.frames" class="py-name" href="#" onclick="return doclink('link-52', 'frames', 'link-52');">frames</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt id="link-53" class="py-name" targets="Variable lxml.html.HtmlMixin.forms=lxml.html.HtmlMixin-class.html#forms,Variable lxml.html.clean.Cleaner.forms=lxml.html.clean.Cleaner-class.html#forms"><a title="lxml.html.HtmlMixin.forms
-lxml.html.clean.Cleaner.forms" class="py-name" href="#" onclick="return doclink('link-53', 'forms', 'link-53');">forms</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt id="link-54" class="py-name" targets="Variable lxml.html.clean.Cleaner.annoying_tags=lxml.html.clean.Cleaner-class.html#annoying_tags"><a title="lxml.html.clean.Cleaner.annoying_tags" class="py-name" href="#" onclick="return doclink('link-54', 'annoying_tags', 'link-54');">annoying_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt id="link-55" class="py-name" targets="Variable lxml.html.clean.Cleaner.remove_tags=lxml.html.clean.Cleaner-class.html#remove_tags"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-55', 'remove_tags', 'link-55');">remove_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt id="link-56" class="py-name" targets="Variable lxml.html.clean.Cleaner.allow_tags=lxml.html.clean.Cleaner-class.html#allow_tags"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-56', 'allow_tags', 'link-56');">allow_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt id="link-57" class="py-name" targets="Variable lxml.html.clean.Cleaner.kill_tags=lxml.html.clean.Cleaner-class.html#kill_tags"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-57', 'kill_tags', 'link-57');">kill_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt id="link-58" class="py-name" targets="Variable lxml.html.clean.Cleaner.remove_unknown_tags=lxml.html.clean.Cleaner-class.html#remove_unknown_tags"><a title="lxml.html.clean.Cleaner.remove_unknown_tags" class="py-name" href="#" onclick="return doclink('link-58', 'remove_unknown_tags', 'link-58');">remove_unknown_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt id="link-59" class="py-name" targets="Variable lxml.html.clean.Cleaner.safe_attrs_only=lxml.html.clean.Cleaner-class.html#safe_attrs_only"><a title="lxml.html.clean.Cleaner.safe_attrs_only" class="py-name" href="#" onclick="return doclink('link-59', 'safe_attrs_only', 'link-59');">safe_attrs_only</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt id="link-60" class="py-name" targets="Variable lxml.html.clean.Cleaner.safe_attrs=lxml.html.clean.Cleaner-class.html#safe_attrs,Variable lxml.html.defs.safe_attrs=lxml.html.defs-module.html#safe_attrs"><a title="lxml.html.clean.Cleaner.safe_attrs
-lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-60', 'safe_attrs', 'link-60');">safe_attrs</a></tt> <tt class="py-op">=</tt> <tt id="link-61" class="py-name"><a title="lxml.html.defs" class="py-name" href="#" onclick="return doclink('link-61', 'defs', 'link-6');">defs</a></tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
-lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-62', 'safe_attrs', 'link-60');">safe_attrs</a></tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt id="link-63" class="py-name" targets="Variable lxml.html.clean.Cleaner.add_nofollow=lxml.html.clean.Cleaner-class.html#add_nofollow"><a title="lxml.html.clean.Cleaner.add_nofollow" class="py-name" href="#" onclick="return doclink('link-63', 'add_nofollow', 'link-63');">add_nofollow</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt id="link-64" class="py-name" targets="Variable lxml.html.clean.Cleaner.host_whitelist=lxml.html.clean.Cleaner-class.html#host_whitelist"><a title="lxml.html.clean.Cleaner.host_whitelist" class="py-name" href="#" onclick="return doclink('link-64', 'host_whitelist', 'link-64');">host_whitelist</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt id="link-65" class="py-name" targets="Variable lxml.html.clean.Cleaner.whitelist_tags=lxml.html.clean.Cleaner-class.html#whitelist_tags"><a title="lxml.html.clean.Cleaner.whitelist_tags" class="py-name" href="#" onclick="return doclink('link-65', 'whitelist_tags', 'link-65');">whitelist_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-66" class="py-name" targets="Method lxml.etree._Element.set()=lxml.etree._Element-class.html#set,Method lxml.etree._XSLTProcessingInstruction.set()=lxml.etree._XSLTProcessingInstruction-class.html#set"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-66', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'iframe'</tt><tt class="py-op">,</tt> <tt class="py-string">'embed'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> </tt>
-<a name="Cleaner.__init__"></a><div id="Cleaner.__init__-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="Cleaner.__init__-toggle" onclick="return toggle('Cleaner.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kw</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.__init__-expanded"><a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-67" class="py-name" targets="Variable lxml.etree.DTD.name=lxml.etree.DTD-class.html#name,Variable lxml.etree._Entity.name=lxml.etree._Entity-class.html#name,Variable lxml.html.InputMixin.name=lxml.html.InputMixin-class.html#name,Variable lxml.objectify.PyType.name=lxml.objectify.PyType-class.html#name"><a title="lxml.etree.DTD.name
+<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> ``safe_attrs``:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> A set of attribute names to override the default list of attributes</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"> considered 'safe' (when safe_attrs_only=True).</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> ``add_nofollow``:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"> If true, then any <a> tags will have ``rel="nofollow"`` added to them.</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> ``host_whitelist``:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"> A list or set of hosts that you can use for embedded content</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> (for content like ``<object>``, ``<link rel="stylesheet">``, etc).</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> You can also implement/override the method</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"> ``allow_embedded_url(el, url)`` or ``allow_element(el)`` to</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> implement more complex rules for what can be embedded.</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"> Anything that passes this test will be shown, regardless of</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> the value of (for instance) ``embedded``.</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"> Note that this parameter might not work as intended if you do not</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> make the links absolute before doing the cleaning.</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> Note that you may also need to set ``whitelist_tags``.</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> ``whitelist_tags``:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> A set of tags that can be included with ``host_whitelist``.</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"> The default is ``iframe`` and ``embed``; you may wish to</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> include other tags like ``script``, or you may want to</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"> implement ``allow_embedded_url`` for more control. Set to None to</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> include all tags.</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring"> This modifies the document *in place*.</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt id="link-43" class="py-name" targets="Variable lxml.html.clean.Cleaner.scripts=lxml.html.clean.Cleaner-class.html#scripts"><a title="lxml.html.clean.Cleaner.scripts" class="py-name" href="#" onclick="return doclink('link-43', 'scripts', 'link-43');">scripts</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt id="link-44" class="py-name" targets="Variable lxml.html.clean.Cleaner.javascript=lxml.html.clean.Cleaner-class.html#javascript"><a title="lxml.html.clean.Cleaner.javascript" class="py-name" href="#" onclick="return doclink('link-44', 'javascript', 'link-44');">javascript</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt id="link-45" class="py-name" targets="Variable lxml.html.clean.Cleaner.comments=lxml.html.clean.Cleaner-class.html#comments"><a title="lxml.html.clean.Cleaner.comments" class="py-name" href="#" onclick="return doclink('link-45', 'comments', 'link-45');">comments</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt id="link-46" class="py-name" targets="Variable lxml.html.clean.Cleaner.style=lxml.html.clean.Cleaner-class.html#style"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-46', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt id="link-47" class="py-name" targets="Variable lxml.html.clean.Cleaner.inline_style=lxml.html.clean.Cleaner-class.html#inline_style"><a title="lxml.html.clean.Cleaner.inline_style" class="py-name" href="#" onclick="return doclink('link-47', 'inline_style', 'link-47');">inline_style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt id="link-48" class="py-name" targets="Variable lxml.html.clean.Cleaner.links=lxml.html.clean.Cleaner-class.html#links"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-48', 'links', 'link-48');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt id="link-49" class="py-name" targets="Variable lxml.html.clean.Cleaner.meta=lxml.html.clean.Cleaner-class.html#meta"><a title="lxml.html.clean.Cleaner.meta" class="py-name" href="#" onclick="return doclink('link-49', 'meta', 'link-49');">meta</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt id="link-50" class="py-name" targets="Variable lxml.html.clean.Cleaner.page_structure=lxml.html.clean.Cleaner-class.html#page_structure"><a title="lxml.html.clean.Cleaner.page_structure" class="py-name" href="#" onclick="return doclink('link-50', 'page_structure', 'link-50');">page_structure</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt id="link-51" class="py-name" targets="Variable lxml.html.clean.Cleaner.processing_instructions=lxml.html.clean.Cleaner-class.html#processing_instructions"><a title="lxml.html.clean.Cleaner.processing_instructions" class="py-name" href="#" onclick="return doclink('link-51', 'processing_instructions', 'link-51');">processing_instructions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt id="link-52" class="py-name" targets="Variable lxml.html.clean.Cleaner.embedded=lxml.html.clean.Cleaner-class.html#embedded"><a title="lxml.html.clean.Cleaner.embedded" class="py-name" href="#" onclick="return doclink('link-52', 'embedded', 'link-52');">embedded</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt id="link-53" class="py-name" targets="Variable lxml.html.clean.Cleaner.frames=lxml.html.clean.Cleaner-class.html#frames"><a title="lxml.html.clean.Cleaner.frames" class="py-name" href="#" onclick="return doclink('link-53', 'frames', 'link-53');">frames</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt id="link-54" class="py-name" targets="Variable lxml.html.HtmlMixin.forms=lxml.html.HtmlMixin-class.html#forms,Variable lxml.html.clean.Cleaner.forms=lxml.html.clean.Cleaner-class.html#forms"><a title="lxml.html.HtmlMixin.forms
+lxml.html.clean.Cleaner.forms" class="py-name" href="#" onclick="return doclink('link-54', 'forms', 'link-54');">forms</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt id="link-55" class="py-name" targets="Variable lxml.html.clean.Cleaner.annoying_tags=lxml.html.clean.Cleaner-class.html#annoying_tags"><a title="lxml.html.clean.Cleaner.annoying_tags" class="py-name" href="#" onclick="return doclink('link-55', 'annoying_tags', 'link-55');">annoying_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt id="link-56" class="py-name" targets="Variable lxml.html.clean.Cleaner.remove_tags=lxml.html.clean.Cleaner-class.html#remove_tags"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-56', 'remove_tags', 'link-56');">remove_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt id="link-57" class="py-name" targets="Variable lxml.html.clean.Cleaner.allow_tags=lxml.html.clean.Cleaner-class.html#allow_tags"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-57', 'allow_tags', 'link-57');">allow_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt id="link-58" class="py-name" targets="Variable lxml.html.clean.Cleaner.kill_tags=lxml.html.clean.Cleaner-class.html#kill_tags"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-58', 'kill_tags', 'link-58');">kill_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt id="link-59" class="py-name" targets="Variable lxml.html.clean.Cleaner.remove_unknown_tags=lxml.html.clean.Cleaner-class.html#remove_unknown_tags"><a title="lxml.html.clean.Cleaner.remove_unknown_tags" class="py-name" href="#" onclick="return doclink('link-59', 'remove_unknown_tags', 'link-59');">remove_unknown_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt id="link-60" class="py-name" targets="Variable lxml.html.clean.Cleaner.safe_attrs_only=lxml.html.clean.Cleaner-class.html#safe_attrs_only"><a title="lxml.html.clean.Cleaner.safe_attrs_only" class="py-name" href="#" onclick="return doclink('link-60', 'safe_attrs_only', 'link-60');">safe_attrs_only</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt id="link-61" class="py-name" targets="Variable lxml.html.clean.Cleaner.safe_attrs=lxml.html.clean.Cleaner-class.html#safe_attrs,Variable lxml.html.defs.safe_attrs=lxml.html.defs-module.html#safe_attrs"><a title="lxml.html.clean.Cleaner.safe_attrs
+lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-61', 'safe_attrs', 'link-61');">safe_attrs</a></tt> <tt class="py-op">=</tt> <tt id="link-62" class="py-name"><a title="lxml.html.defs" class="py-name" href="#" onclick="return doclink('link-62', 'defs', 'link-6');">defs</a></tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
+lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-63', 'safe_attrs', 'link-61');">safe_attrs</a></tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt id="link-64" class="py-name" targets="Variable lxml.html.clean.Cleaner.add_nofollow=lxml.html.clean.Cleaner-class.html#add_nofollow"><a title="lxml.html.clean.Cleaner.add_nofollow" class="py-name" href="#" onclick="return doclink('link-64', 'add_nofollow', 'link-64');">add_nofollow</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt id="link-65" class="py-name" targets="Variable lxml.html.clean.Cleaner.host_whitelist=lxml.html.clean.Cleaner-class.html#host_whitelist"><a title="lxml.html.clean.Cleaner.host_whitelist" class="py-name" href="#" onclick="return doclink('link-65', 'host_whitelist', 'link-65');">host_whitelist</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt id="link-66" class="py-name" targets="Variable lxml.html.clean.Cleaner.whitelist_tags=lxml.html.clean.Cleaner-class.html#whitelist_tags"><a title="lxml.html.clean.Cleaner.whitelist_tags" class="py-name" href="#" onclick="return doclink('link-66', 'whitelist_tags', 'link-66');">whitelist_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name" targets="Method lxml.etree._Element.set()=lxml.etree._Element-class.html#set,Method lxml.etree._XSLTProcessingInstruction.set()=lxml.etree._XSLTProcessingInstruction-class.html#set"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-67', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'iframe'</tt><tt class="py-op">,</tt> <tt class="py-string">'embed'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> </tt>
+<a name="Cleaner.__init__"></a><div id="Cleaner.__init__-def"><a name="L217"></a><tt class="py-lineno">217</tt> <a class="py-toggle" href="#" id="Cleaner.__init__-toggle" onclick="return toggle('Cleaner.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kw</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.__init__-expanded"><a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-68" class="py-name" targets="Variable lxml.etree.DTD.name=lxml.etree.DTD-class.html#name,Variable lxml.etree._Entity.name=lxml.etree._Entity-class.html#name,Variable lxml.html.InputMixin.name=lxml.html.InputMixin-class.html#name,Variable lxml.objectify.PyType.name=lxml.objectify.PyType-class.html#name"><a title="lxml.etree.DTD.name
lxml.etree._Entity.name
lxml.html.InputMixin.name
-lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-67', 'name', 'link-67');">name</a></tt><tt class="py-op">,</tt> <tt id="link-68" class="py-name" targets="Variable lxml.html.CheckboxGroup.value=lxml.html.CheckboxGroup-class.html#value,Variable lxml.html.InputElement.value=lxml.html.InputElement-class.html#value,Variable lxml.html.RadioGroup.value=lxml.html.RadioGroup-class.html#value,Variable lxml.html.SelectElement.value=lxml.html.SelectElement-class.html#value,Variable lxml.html.TextareaElement.value=lxml.html.TextareaElement-class.html#value"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-68', 'name', 'link-68');">name</a></tt><tt class="py-op">,</tt> <tt id="link-69" class="py-name" targets="Variable lxml.html.CheckboxGroup.value=lxml.html.CheckboxGroup-class.html#value,Variable lxml.html.InputElement.value=lxml.html.InputElement-class.html#value,Variable lxml.html.RadioGroup.value=lxml.html.RadioGroup-class.html#value,Variable lxml.html.SelectElement.value=lxml.html.SelectElement-class.html#value,Variable lxml.html.TextareaElement.value=lxml.html.TextareaElement-class.html#value"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-68', 'value', 'link-68');">value</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">kw</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Method lxml.etree._Attrib.items()=lxml.etree._Attrib-class.html#items,Method lxml.etree._Element.items()=lxml.etree._Element-class.html#items,Method lxml.etree._IDDict.items()=lxml.etree._IDDict-class.html#items"><a title="lxml.etree._Attrib.items
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-69', 'value', 'link-69');">value</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">kw</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Method lxml.etree._Attrib.items()=lxml.etree._Attrib-class.html#items,Method lxml.etree._Element.items()=lxml.etree._Element-class.html#items,Method lxml.etree._IDDict.items()=lxml.etree._IDDict-class.html#items"><a title="lxml.etree._Attrib.items
lxml.etree._Element.items
-lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-69', 'items', 'link-69');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-70" class="py-name" targets="Method lxml.objectify.ObjectPath.hasattr()=lxml.objectify.ObjectPath-class.html#hasattr"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-70', 'hasattr', 'link-70');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-71" class="py-name"><a title="lxml.etree.DTD.name
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-70', 'items', 'link-70');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-71" class="py-name" targets="Method lxml.objectify.ObjectPath.hasattr()=lxml.objectify.ObjectPath-class.html#hasattr"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-71', 'hasattr', 'link-71');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-72" class="py-name"><a title="lxml.etree.DTD.name
lxml.etree._Entity.name
lxml.html.InputMixin.name
-lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-71', 'name', 'link-67');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-string">"Unknown parameter: %s=%r"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-72" class="py-name"><a title="lxml.etree.DTD.name
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-72', 'name', 'link-68');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-string">"Unknown parameter: %s=%r"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="lxml.etree.DTD.name
lxml.etree._Entity.name
lxml.html.InputMixin.name
-lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-72', 'name', 'link-67');">name</a></tt><tt class="py-op">,</tt> <tt id="link-73" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-73', 'name', 'link-68');">name</a></tt><tt class="py-op">,</tt> <tt id="link-74" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-73', 'value', 'link-68');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt id="link-74" class="py-name" targets="Method lxml.objectify.ObjectPath.setattr()=lxml.objectify.ObjectPath-class.html#setattr"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-74', 'setattr', 'link-74');">setattr</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-75" class="py-name"><a title="lxml.etree.DTD.name
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-74', 'value', 'link-69');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt id="link-75" class="py-name" targets="Method lxml.objectify.ObjectPath.setattr()=lxml.objectify.ObjectPath-class.html#setattr"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-75', 'setattr', 'link-75');">setattr</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-76" class="py-name"><a title="lxml.etree.DTD.name
lxml.etree._Entity.name
lxml.html.InputMixin.name
-lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-75', 'name', 'link-67');">name</a></tt><tt class="py-op">,</tt> <tt id="link-76" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-76', 'name', 'link-68');">name</a></tt><tt class="py-op">,</tt> <tt id="link-77" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-76', 'value', 'link-68');">value</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-comment"># Used to lookup the primary URL for a given tag that is up for</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-comment"># removal:</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt id="link-77" class="py-name" targets="Variable lxml.html.clean.Cleaner._tag_link_attrs=lxml.html.clean.Cleaner-class.html#_tag_link_attrs"><a title="lxml.html.clean.Cleaner._tag_link_attrs" class="py-name" href="#" onclick="return doclink('link-77', '_tag_link_attrs', 'link-77');">_tag_link_attrs</a></tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">script</tt><tt class="py-op">=</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-name">link</tt><tt class="py-op">=</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-comment"># From: http://java.sun.com/j2se/1.4.2/docs/guide/misc/applet.html</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-comment"># From what I can tell, both attributes can contain a link:</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">applet</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'code'</tt><tt class="py-op">,</tt> <tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-name">iframe</tt><tt class="py-op">=</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">embed</tt><tt class="py-op">=</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-name">layer</tt><tt class="py-op">=</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: there doesn't really seem like a general way to figure out what</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-comment"># links an <object> tag uses; links often go in <param> tags with values</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-comment"># that we don't really know. You'd have to have knowledge about specific</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-comment"># kinds of plugins (probably keyed off classid), and match against those.</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-comment">##object=?,</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: not looking at the action currently, because it is more complex</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-comment"># than than -- if you keep the form, you should keep the form controls.</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-comment">##form='action',</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">=</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> </tt>
-<a name="Cleaner.__call__"></a><div id="Cleaner.__call__-def"><a name="L241"></a><tt class="py-lineno">241</tt> <a class="py-toggle" href="#" id="Cleaner.__call__-toggle" onclick="return toggle('Cleaner.__call__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">doc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.__call__-expanded"><a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> Cleans the document.</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-78" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-78', 'hasattr', 'link-70');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-string">'getroot'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-comment"># ElementTree instance, instead of an element</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method lxml.etree._ElementTree.getroot()=lxml.etree._ElementTree-class.html#getroot"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-79', 'getroot', 'link-79');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-comment"># convert XHTML to HTML</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-name">xhtml_to_html</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-comment"># Normalize a case that IE treats <image> like <img>, and that</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-comment"># can confuse either this step or later steps.</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method lxml.etree._Element.iter()=lxml.etree._Element-class.html#iter,Method lxml.etree._ElementTree.iter()=lxml.etree._ElementTree-class.html#iter"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-80', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt class="py-string">'image'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name" targets="Variable lxml.etree._Comment.tag=lxml.etree._Comment-class.html#tag,Variable lxml.etree._Element.tag=lxml.etree._Element-class.html#tag,Variable lxml.etree._Entity.tag=lxml.etree._Entity-class.html#tag,Variable lxml.etree._ProcessingInstruction.tag=lxml.etree._ProcessingInstruction-class.html#tag,Function lxml.tests.test_xpathevaluator.tag()=lxml.tests.test_xpathevaluator-module.html#tag,Variable xml.etree.ElementTree.Element.tag=xml.etree.ElementTree.Element-class.html#tag"><a title="lxml.etree._Comment.tag
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-77', 'value', 'link-69');">value</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="lxml.html.clean.Cleaner.inline_style" class="py-name" href="#" onclick="return doclink('link-78', 'inline_style', 'link-47');">inline_style</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'inline_style'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kw</tt><tt class="py-op">:</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="lxml.html.clean.Cleaner.inline_style" class="py-name" href="#" onclick="return doclink('link-79', 'inline_style', 'link-47');">inline_style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-80', 'style', 'link-46');">style</a></tt> </tt>
+</div><a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-comment"># Used to lookup the primary URL for a given tag that is up for</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-comment"># removal:</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt id="link-81" class="py-name" targets="Variable lxml.html.clean.Cleaner._tag_link_attrs=lxml.html.clean.Cleaner-class.html#_tag_link_attrs"><a title="lxml.html.clean.Cleaner._tag_link_attrs" class="py-name" href="#" onclick="return doclink('link-81', '_tag_link_attrs', 'link-81');">_tag_link_attrs</a></tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-name">script</tt><tt class="py-op">=</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-name">link</tt><tt class="py-op">=</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-comment"># From: http://java.sun.com/j2se/1.4.2/docs/guide/misc/applet.html</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-comment"># From what I can tell, both attributes can contain a link:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">applet</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'code'</tt><tt class="py-op">,</tt> <tt class="py-string">'object'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-name">iframe</tt><tt class="py-op">=</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-name">embed</tt><tt class="py-op">=</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-name">layer</tt><tt class="py-op">=</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: there doesn't really seem like a general way to figure out what</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-comment"># links an <object> tag uses; links often go in <param> tags with values</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-comment"># that we don't really know. You'd have to have knowledge about specific</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-comment"># kinds of plugins (probably keyed off classid), and match against those.</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-comment">##object=?,</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: not looking at the action currently, because it is more complex</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-comment"># than than -- if you keep the form, you should keep the form controls.</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-comment">##form='action',</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-name">a</tt><tt class="py-op">=</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> </tt>
+<a name="Cleaner.__call__"></a><div id="Cleaner.__call__-def"><a name="L248"></a><tt class="py-lineno">248</tt> <a class="py-toggle" href="#" id="Cleaner.__call__-toggle" onclick="return toggle('Cleaner.__call__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">doc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner.__call__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.__call__-expanded"><a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"> Cleans the document.</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-82" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-82', 'hasattr', 'link-71');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-string">'getroot'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-comment"># ElementTree instance, instead of an element</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Method lxml.etree._ElementTree.getroot()=lxml.etree._ElementTree-class.html#getroot"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-83', 'getroot', 'link-83');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-comment"># convert XHTML to HTML</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">xhtml_to_html</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-comment"># Normalize a case that IE treats <image> like <img>, and that</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-comment"># can confuse either this step or later steps.</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method lxml.etree._Element.iter()=lxml.etree._Element-class.html#iter,Method lxml.etree._ElementTree.iter()=lxml.etree._ElementTree-class.html#iter"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-84', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt class="py-string">'image'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Variable lxml.etree._Comment.tag=lxml.etree._Comment-class.html#tag,Variable lxml.etree._Element.tag=lxml.etree._Element-class.html#tag,Variable lxml.etree._Entity.tag=lxml.etree._Entity-class.html#tag,Variable lxml.etree._ProcessingInstruction.tag=lxml.etree._ProcessingInstruction-class.html#tag,Function lxml.tests.test_xpathevaluator.tag()=lxml.tests.test_xpathevaluator-module.html#tag,Variable xml.etree.ElementTree.Element.tag=xml.etree.ElementTree.Element-class.html#tag"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-81', 'tag', 'link-81');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'img'</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="lxml.html.clean.Cleaner.comments" class="py-name" href="#" onclick="return doclink('link-82', 'comments', 'link-45');">comments</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-comment"># Of course, if we were going to kill comments anyway, we don't</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-comment"># need to worry about this</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Method lxml.html.clean.Cleaner.kill_conditional_comments()=lxml.html.clean.Cleaner-class.html#kill_conditional_comments"><a title="lxml.html.clean.Cleaner.kill_conditional_comments" class="py-name" href="#" onclick="return doclink('link-83', 'kill_conditional_comments', 'link-83');">kill_conditional_comments</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt id="link-84" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-84', 'kill_tags', 'link-57');">kill_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-85', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-86', 'kill_tags', 'link-57');">kill_tags</a></tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt id="link-87" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-87', 'remove_tags', 'link-55');">remove_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-88" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-88', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-89', 'remove_tags', 'link-55');">remove_tags</a></tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt id="link-90" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-90', 'allow_tags', 'link-56');">allow_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-91" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-91', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-92', 'allow_tags', 'link-56');">allow_tags</a></tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="lxml.html.clean.Cleaner.scripts" class="py-name" href="#" onclick="return doclink('link-93', 'scripts', 'link-43');">scripts</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt id="link-94" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-94', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-95" class="py-name" targets="Method lxml.html.CheckboxValues.add()=lxml.html.CheckboxValues-class.html#add,Method lxml.html.Classes.add()=lxml.html.Classes-class.html#add,Method lxml.html.MultipleSelectOptions.add()=lxml.html.MultipleSelectOptions-class.html#add"><a title="lxml.html.CheckboxValues.add
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-85', 'tag', 'link-85');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'img'</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="lxml.html.clean.Cleaner.comments" class="py-name" href="#" onclick="return doclink('link-86', 'comments', 'link-45');">comments</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-comment"># Of course, if we were going to kill comments anyway, we don't</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-comment"># need to worry about this</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name" targets="Method lxml.html.clean.Cleaner.kill_conditional_comments()=lxml.html.clean.Cleaner-class.html#kill_conditional_comments"><a title="lxml.html.clean.Cleaner.kill_conditional_comments" class="py-name" href="#" onclick="return doclink('link-87', 'kill_conditional_comments', 'link-87');">kill_conditional_comments</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt id="link-88" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-88', 'kill_tags', 'link-58');">kill_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-89" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-89', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-90', 'kill_tags', 'link-58');">kill_tags</a></tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt id="link-91" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-91', 'remove_tags', 'link-56');">remove_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-92" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-92', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-93', 'remove_tags', 'link-56');">remove_tags</a></tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt id="link-94" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-94', 'allow_tags', 'link-57');">allow_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-95', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-96', 'allow_tags', 'link-57');">allow_tags</a></tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="lxml.html.clean.Cleaner.scripts" class="py-name" href="#" onclick="return doclink('link-97', 'scripts', 'link-43');">scripts</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt id="link-98" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-98', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-99" class="py-name" targets="Method lxml.html.CheckboxValues.add()=lxml.html.CheckboxValues-class.html#add,Method lxml.html.Classes.add()=lxml.html.Classes-class.html#add,Method lxml.html.MultipleSelectOptions.add()=lxml.html.MultipleSelectOptions-class.html#add"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-95', 'add', 'link-95');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'script'</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs_only" class="py-name" href="#" onclick="return doclink('link-96', 'safe_attrs_only', 'link-59');">safe_attrs_only</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt id="link-97" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
-lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-97', 'safe_attrs', 'link-60');">safe_attrs</a></tt> <tt class="py-op">=</tt> <tt id="link-98" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-98', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
-lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-99', 'safe_attrs', 'link-60');">safe_attrs</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-100', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt id="link-101" class="py-name"><a title="lxml.etree
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-99', 'add', 'link-99');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'script'</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs_only" class="py-name" href="#" onclick="return doclink('link-100', 'safe_attrs_only', 'link-60');">safe_attrs_only</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt id="link-101" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
+lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-101', 'safe_attrs', 'link-61');">safe_attrs</a></tt> <tt class="py-op">=</tt> <tt id="link-102" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-102', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
+lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-103', 'safe_attrs', 'link-61');">safe_attrs</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-104', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt id="link-105" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-101', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Function lxml.etree.Element()=lxml.etree-module.html#Element,Function lxml.objectify.Element()=lxml.objectify-module.html#Element,Method lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element()=lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#Element,Class xml.etree.ElementTree.Element=xml.etree.ElementTree.Element-class.html"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-105', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Function lxml.etree.Element()=lxml.etree-module.html#Element,Function lxml.objectify.Element()=lxml.objectify-module.html#Element,Method lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element()=lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#Element,Class xml.etree.ElementTree.Element=xml.etree.ElementTree.Element-class.html"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-102', 'Element', 'link-102');">Element</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt id="link-103" class="py-name" targets="Variable lxml.etree._Element.attrib=lxml.etree._Element-class.html#attrib,Variable lxml.etree._ProcessingInstruction.attrib=lxml.etree._ProcessingInstruction-class.html#attrib,Function lxml.tests.selftest2.attrib()=lxml.tests.selftest2-module.html#attrib,Variable xml.etree.ElementTree.Element.attrib=xml.etree.ElementTree.Element-class.html#attrib"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-106', 'Element', 'link-106');">Element</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt id="link-107" class="py-name" targets="Variable lxml.etree._Element.attrib=lxml.etree._Element-class.html#attrib,Variable lxml.etree._ProcessingInstruction.attrib=lxml.etree._ProcessingInstruction-class.html#attrib,Function lxml.tests.selftest2.attrib()=lxml.tests.selftest2-module.html#attrib,Variable xml.etree.ElementTree.Element.attrib=xml.etree.ElementTree.Element-class.html#attrib"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-103', 'attrib', 'link-103');">attrib</a></tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-107', 'attrib', 'link-107');">attrib</a></tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-104', 'attrib', 'link-103');">attrib</a></tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">aname</tt> <tt class="py-keyword">in</tt> <tt id="link-105" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-108', 'attrib', 'link-107');">attrib</a></tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">aname</tt> <tt class="py-keyword">in</tt> <tt id="link-109" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-105', 'attrib', 'link-103');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Method lxml.etree._Attrib.keys()=lxml.etree._Attrib-class.html#keys,Method lxml.etree._Element.keys()=lxml.etree._Element-class.html#keys,Method lxml.etree._IDDict.keys()=lxml.etree._IDDict-class.html#keys,Method lxml.html.FieldsDict.keys()=lxml.html.FieldsDict-class.html#keys,Method lxml.html.InputGetter.keys()=lxml.html.InputGetter-class.html#keys"><a title="lxml.etree._Attrib.keys
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-109', 'attrib', 'link-107');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name" targets="Method lxml.etree._Attrib.keys()=lxml.etree._Attrib-class.html#keys,Method lxml.etree._Element.keys()=lxml.etree._Element-class.html#keys,Method lxml.etree._IDDict.keys()=lxml.etree._IDDict-class.html#keys,Method lxml.html.FieldsDict.keys()=lxml.html.FieldsDict-class.html#keys,Method lxml.html.InputGetter.keys()=lxml.html.InputGetter-class.html#keys"><a title="lxml.etree._Attrib.keys
lxml.etree._Element.keys
lxml.etree._IDDict.keys
lxml.html.FieldsDict.keys
-lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-106', 'keys', 'link-106');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">aname</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-107" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
-lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-107', 'safe_attrs', 'link-60');">safe_attrs</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-108" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-110', 'keys', 'link-110');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">aname</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-111" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
+lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-111', 'safe_attrs', 'link-61');">safe_attrs</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-112" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-108', 'attrib', 'link-103');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-name">aname</tt><tt class="py-op">]</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="lxml.html.clean.Cleaner.javascript" class="py-name" href="#" onclick="return doclink('link-109', 'javascript', 'link-44');">javascript</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs_only" class="py-name" href="#" onclick="return doclink('link-110', 'safe_attrs_only', 'link-59');">safe_attrs_only</a></tt> <tt class="py-keyword">and</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
-lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-111', 'safe_attrs', 'link-60');">safe_attrs</a></tt> <tt class="py-op">==</tt> <tt id="link-112" class="py-name"><a title="lxml.html.defs" class="py-name" href="#" onclick="return doclink('link-112', 'defs', 'link-6');">defs</a></tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
-lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-113', 'safe_attrs', 'link-60');">safe_attrs</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-comment"># safe_attrs handles events attributes itself</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-114', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt id="link-115" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-112', 'attrib', 'link-107');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-name">aname</tt><tt class="py-op">]</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="lxml.html.clean.Cleaner.javascript" class="py-name" href="#" onclick="return doclink('link-113', 'javascript', 'link-44');">javascript</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs_only" class="py-name" href="#" onclick="return doclink('link-114', 'safe_attrs_only', 'link-60');">safe_attrs_only</a></tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
+lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-115', 'safe_attrs', 'link-61');">safe_attrs</a></tt> <tt class="py-op">==</tt> <tt id="link-116" class="py-name"><a title="lxml.html.defs" class="py-name" href="#" onclick="return doclink('link-116', 'defs', 'link-6');">defs</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="lxml.html.clean.Cleaner.safe_attrs
+lxml.html.defs.safe_attrs" class="py-name" href="#" onclick="return doclink('link-117', 'safe_attrs', 'link-61');">safe_attrs</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-comment"># safe_attrs handles events attributes itself</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-118', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt id="link-119" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-115', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-119', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-116', 'Element', 'link-102');">Element</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt id="link-117" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-120', 'Element', 'link-106');">Element</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt id="link-121" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-117', 'attrib', 'link-103');">attrib</a></tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-121', 'attrib', 'link-107');">attrib</a></tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-118', 'attrib', 'link-103');">attrib</a></tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">aname</tt> <tt class="py-keyword">in</tt> <tt id="link-119" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-122', 'attrib', 'link-107');">attrib</a></tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">aname</tt> <tt class="py-keyword">in</tt> <tt id="link-123" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-119', 'attrib', 'link-103');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="lxml.etree._Attrib.keys
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-123', 'attrib', 'link-107');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="lxml.etree._Attrib.keys
lxml.etree._Element.keys
lxml.etree._IDDict.keys
lxml.html.FieldsDict.keys
-lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-120', 'keys', 'link-106');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">aname</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'on'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-121" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-124', 'keys', 'link-110');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">aname</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'on'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-125" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-121', 'attrib', 'link-103');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-name">aname</tt><tt class="py-op">]</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name" targets="Method lxml.html.HtmlMixin.rewrite_links()=lxml.html.HtmlMixin-class.html#rewrite_links,Variable lxml.html.rewrite_links=lxml.html-module.html#rewrite_links"><a title="lxml.html.HtmlMixin.rewrite_links
-lxml.html.rewrite_links" class="py-name" href="#" onclick="return doclink('link-122', 'rewrite_links', 'link-122');">rewrite_links</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name" targets="Method lxml.html.clean.Cleaner._remove_javascript_link()=lxml.html.clean.Cleaner-class.html#_remove_javascript_link"><a title="lxml.html.clean.Cleaner._remove_javascript_link" class="py-name" href="#" onclick="return doclink('link-123', '_remove_javascript_link', 'link-123');">_remove_javascript_link</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt id="link-124" class="py-name" targets="Method lxml.html.HtmlMixin.resolve_base_href()=lxml.html.HtmlMixin-class.html#resolve_base_href,Variable lxml.html.resolve_base_href=lxml.html-module.html#resolve_base_href"><a title="lxml.html.HtmlMixin.resolve_base_href
-lxml.html.resolve_base_href" class="py-name" href="#" onclick="return doclink('link-124', 'resolve_base_href', 'link-124');">resolve_base_href</a></tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-125', 'style', 'link-46');">style</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-comment"># If we're deleting style then we don't have to remove JS links</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-comment"># from styles, otherwise...</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-126" class="py-name"><a title="lxml.html.clean._find_styled_elements" class="py-name" href="#" onclick="return doclink('link-126', '_find_styled_elements', 'link-36');">_find_styled_elements</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-name">old</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method lxml.etree._Attrib.get()=lxml.etree._Attrib-class.html#get,Method lxml.etree._Element.get()=lxml.etree._Element-class.html#get,Method lxml.etree._IDDict.get()=lxml.etree._IDDict-class.html#get,Method lxml.etree._ProcessingInstruction.get()=lxml.etree._ProcessingInstruction-class.html#get"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-125', 'attrib', 'link-107');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-name">aname</tt><tt class="py-op">]</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name" targets="Method lxml.html.HtmlMixin.rewrite_links()=lxml.html.HtmlMixin-class.html#rewrite_links,Variable lxml.html.rewrite_links=lxml.html-module.html#rewrite_links"><a title="lxml.html.HtmlMixin.rewrite_links
+lxml.html.rewrite_links" class="py-name" href="#" onclick="return doclink('link-126', 'rewrite_links', 'link-126');">rewrite_links</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method lxml.html.clean.Cleaner._remove_javascript_link()=lxml.html.clean.Cleaner-class.html#_remove_javascript_link"><a title="lxml.html.clean.Cleaner._remove_javascript_link" class="py-name" href="#" onclick="return doclink('link-127', '_remove_javascript_link', 'link-127');">_remove_javascript_link</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt id="link-128" class="py-name" targets="Method lxml.html.HtmlMixin.resolve_base_href()=lxml.html.HtmlMixin-class.html#resolve_base_href,Variable lxml.html.resolve_base_href=lxml.html-module.html#resolve_base_href"><a title="lxml.html.HtmlMixin.resolve_base_href
+lxml.html.resolve_base_href" class="py-name" href="#" onclick="return doclink('link-128', 'resolve_base_href', 'link-128');">resolve_base_href</a></tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-comment"># If we're deleting style then we don't have to remove JS links</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-comment"># from styles, otherwise...</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="lxml.html.clean.Cleaner.inline_style" class="py-name" href="#" onclick="return doclink('link-129', 'inline_style', 'link-47');">inline_style</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-130" class="py-name"><a title="lxml.html.clean._find_styled_elements" class="py-name" href="#" onclick="return doclink('link-130', '_find_styled_elements', 'link-36');">_find_styled_elements</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-name">old</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name" targets="Method lxml.etree._Attrib.get()=lxml.etree._Attrib-class.html#get,Method lxml.etree._Element.get()=lxml.etree._Element-class.html#get,Method lxml.etree._IDDict.get()=lxml.etree._IDDict-class.html#get,Method lxml.etree._ProcessingInstruction.get()=lxml.etree._ProcessingInstruction-class.html#get"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-127', 'get', 'link-127');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'style'</tt><tt class="py-op">)</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-128" class="py-name"><a title="lxml.html.clean._css_javascript_re" class="py-name" href="#" onclick="return doclink('link-128', '_css_javascript_re', 'link-21');">_css_javascript_re</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">old</tt><tt class="py-op">)</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-129" class="py-name"><a title="lxml.html.clean._css_import_re" class="py-name" href="#" onclick="return doclink('link-129', '_css_import_re', 'link-24');">_css_import_re</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">new</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name" targets="Method lxml.html.clean.Cleaner._has_sneaky_javascript()=lxml.html.clean.Cleaner-class.html#_has_sneaky_javascript"><a title="lxml.html.clean.Cleaner._has_sneaky_javascript" class="py-name" href="#" onclick="return doclink('link-130', '_has_sneaky_javascript', 'link-130');">_has_sneaky_javascript</a></tt><tt class="py-op">(</tt><tt class="py-name">new</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-comment"># Something tricky is going on...</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-131', 'get', 'link-131');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'style'</tt><tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name"><a title="lxml.html.clean._css_javascript_re" class="py-name" href="#" onclick="return doclink('link-132', '_css_javascript_re', 'link-21');">_css_javascript_re</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">old</tt><tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-133" class="py-name"><a title="lxml.html.clean._css_import_re" class="py-name" href="#" onclick="return doclink('link-133', '_css_import_re', 'link-24');">_css_import_re</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">new</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name" targets="Method lxml.html.clean.Cleaner._has_sneaky_javascript()=lxml.html.clean.Cleaner-class.html#_has_sneaky_javascript"><a title="lxml.html.clean.Cleaner._has_sneaky_javascript" class="py-name" href="#" onclick="return doclink('link-134', '_has_sneaky_javascript', 'link-134');">_has_sneaky_javascript</a></tt><tt class="py-op">(</tt><tt class="py-name">new</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-comment"># Something tricky is going on...</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-131', 'attrib', 'link-103');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'style'</tt><tt class="py-op">]</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">new</tt> <tt class="py-op">!=</tt> <tt class="py-name">old</tt><tt class="py-op">:</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-132', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'style'</tt><tt class="py-op">,</tt> <tt class="py-name">new</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-133', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt class="py-string">'style'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-135', 'attrib', 'link-107');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'style'</tt><tt class="py-op">]</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">new</tt> <tt class="py-op">!=</tt> <tt class="py-name">old</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-136', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'style'</tt><tt class="py-op">,</tt> <tt class="py-name">new</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-137', 'style', 'link-46');">style</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-138', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt class="py-string">'style'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-134', 'get', 'link-127');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name" targets="Function lxml.doctestcompare.strip()=lxml.doctestcompare-module.html#strip"><a title="lxml.doctestcompare.strip" class="py-name" href="#" onclick="return doclink('link-135', 'strip', 'link-135');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'text/javascript'</tt><tt class="py-op">:</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name" targets="Method lxml.html.HtmlMixin.drop_tree()=lxml.html.HtmlMixin-class.html#drop_tree"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-136', 'drop_tree', 'link-136');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-name">old</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name" targets="Variable lxml.etree.QName.text=lxml.etree.QName-class.html#text,Variable lxml.etree._Element.text=lxml.etree._Element-class.html#text,Variable lxml.etree._Entity.text=lxml.etree._Entity-class.html#text,Variable lxml.objectify.ObjectifiedElement.text=lxml.objectify.ObjectifiedElement-class.html#text,Variable xml.etree.ElementTree.Element.text=xml.etree.ElementTree.Element-class.html#text"><a title="lxml.etree.QName.text
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-139', 'get', 'link-131');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name" targets="Function lxml.doctestcompare.strip()=lxml.doctestcompare-module.html#strip"><a title="lxml.doctestcompare.strip" class="py-name" href="#" onclick="return doclink('link-140', 'strip', 'link-140');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'text/javascript'</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name" targets="Method lxml.html.HtmlMixin.drop_tree()=lxml.html.HtmlMixin-class.html#drop_tree"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-141', 'drop_tree', 'link-141');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-name">old</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name" targets="Variable lxml.etree.QName.text=lxml.etree.QName-class.html#text,Variable lxml.etree._Element.text=lxml.etree._Element-class.html#text,Variable lxml.etree._Entity.text=lxml.etree._Entity-class.html#text,Variable lxml.objectify.ObjectifiedElement.text=lxml.objectify.ObjectifiedElement-class.html#text,Variable xml.etree.ElementTree.Element.text=xml.etree.ElementTree.Element-class.html#text"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-137', 'text', 'link-137');">text</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-138" class="py-name"><a title="lxml.html.clean._css_javascript_re" class="py-name" href="#" onclick="return doclink('link-138', '_css_javascript_re', 'link-21');">_css_javascript_re</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">old</tt><tt class="py-op">)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-comment"># The imported CSS can do anything; we just can't allow:</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-139" class="py-name"><a title="lxml.html.clean._css_import_re" class="py-name" href="#" onclick="return doclink('link-139', '_css_import_re', 'link-24');">_css_import_re</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">old</tt><tt class="py-op">)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="lxml.html.clean.Cleaner._has_sneaky_javascript" class="py-name" href="#" onclick="return doclink('link-140', '_has_sneaky_javascript', 'link-130');">_has_sneaky_javascript</a></tt><tt class="py-op">(</tt><tt class="py-name">new</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-comment"># Something tricky is going on...</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-142', 'text', 'link-142');">text</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-143" class="py-name"><a title="lxml.html.clean._css_javascript_re" class="py-name" href="#" onclick="return doclink('link-143', '_css_javascript_re', 'link-21');">_css_javascript_re</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">old</tt><tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-comment"># The imported CSS can do anything; we just can't allow:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-144" class="py-name"><a title="lxml.html.clean._css_import_re" class="py-name" href="#" onclick="return doclink('link-144', '_css_import_re', 'link-24');">_css_import_re</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">old</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="lxml.html.clean.Cleaner._has_sneaky_javascript" class="py-name" href="#" onclick="return doclink('link-145', '_has_sneaky_javascript', 'link-134');">_has_sneaky_javascript</a></tt><tt class="py-op">(</tt><tt class="py-name">new</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-comment"># Something tricky is going on...</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-141', 'text', 'link-137');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'/* deleted */'</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">new</tt> <tt class="py-op">!=</tt> <tt class="py-name">old</tt><tt class="py-op">:</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-146', 'text', 'link-142');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'/* deleted */'</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">new</tt> <tt class="py-op">!=</tt> <tt class="py-name">old</tt><tt class="py-op">:</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-142', 'text', 'link-137');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="lxml.html.clean.Cleaner.comments" class="py-name" href="#" onclick="return doclink('link-143', 'comments', 'link-45');">comments</a></tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="lxml.html.clean.Cleaner.processing_instructions" class="py-name" href="#" onclick="return doclink('link-144', 'processing_instructions', 'link-50');">processing_instructions</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: why either? I feel like there's some obscure reason</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-comment"># because you can put PIs in comments...? But I've already</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-comment"># forgotten it</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt id="link-145" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-145', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="lxml.html.CheckboxValues.add
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-147', 'text', 'link-142');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="lxml.html.clean.Cleaner.comments" class="py-name" href="#" onclick="return doclink('link-148', 'comments', 'link-45');">comments</a></tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="lxml.html.clean.Cleaner.processing_instructions" class="py-name" href="#" onclick="return doclink('link-149', 'processing_instructions', 'link-51');">processing_instructions</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: why either? I feel like there's some obscure reason</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-comment"># because you can put PIs in comments...? But I've already</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-comment"># forgotten it</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt id="link-150" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-150', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-146', 'add', 'link-95');">add</a></tt><tt class="py-op">(</tt><tt id="link-147" class="py-name"><a title="lxml.etree
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-151', 'add', 'link-99');">add</a></tt><tt class="py-op">(</tt><tt id="link-152" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-147', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-148" class="py-name" targets="Function lxml.etree.Comment()=lxml.etree-module.html#Comment"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-148', 'Comment', 'link-148');">Comment</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="lxml.html.clean.Cleaner.processing_instructions" class="py-name" href="#" onclick="return doclink('link-149', 'processing_instructions', 'link-50');">processing_instructions</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt id="link-150" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-150', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-152', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Function lxml.etree.Comment()=lxml.etree-module.html#Comment"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-153', 'Comment', 'link-153');">Comment</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="lxml.html.clean.Cleaner.processing_instructions" class="py-name" href="#" onclick="return doclink('link-154', 'processing_instructions', 'link-51');">processing_instructions</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt id="link-155" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-155', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-151', 'add', 'link-95');">add</a></tt><tt class="py-op">(</tt><tt id="link-152" class="py-name"><a title="lxml.etree
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-156', 'add', 'link-99');">add</a></tt><tt class="py-op">(</tt><tt id="link-157" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-152', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt><tt class="py-op">)</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-153', 'style', 'link-46');">style</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt id="link-154" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-154', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-157', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt><tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-158', 'style', 'link-46');">style</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt id="link-159" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-159', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-155', 'add', 'link-95');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'style'</tt><tt class="py-op">)</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt id="link-156" class="py-name"><a title="lxml.etree
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-160', 'add', 'link-99');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'style'</tt><tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="lxml.html.clean.Cleaner.inline_style" class="py-name" href="#" onclick="return doclink('link-161', 'inline_style', 'link-47');">inline_style</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt id="link-162" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-156', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-157" class="py-name" targets="Function lxml.etree.strip_attributes()=lxml.etree-module.html#strip_attributes"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-157', 'strip_attributes', 'link-157');">strip_attributes</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-string">'style'</tt><tt class="py-op">)</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-158', 'links', 'link-47');">links</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt id="link-159" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-159', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-162', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-163" class="py-name" targets="Function lxml.etree.strip_attributes()=lxml.etree-module.html#strip_attributes"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-163', 'strip_attributes', 'link-163');">strip_attributes</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-string">'style'</tt><tt class="py-op">)</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-164', 'links', 'link-48');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt id="link-165" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-165', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-160', 'add', 'link-95');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'link'</tt><tt class="py-op">)</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-161', 'style', 'link-46');">style</a></tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="lxml.html.clean.Cleaner.javascript" class="py-name" href="#" onclick="return doclink('link-162', 'javascript', 'link-44');">javascript</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-comment"># We must get rid of included stylesheets if Javascript is not</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-comment"># allowed, as you can put Javascript in them</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-163', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt class="py-string">'link'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'stylesheet'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-166', 'add', 'link-99');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'link'</tt><tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-167', 'style', 'link-46');">style</a></tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="lxml.html.clean.Cleaner.javascript" class="py-name" href="#" onclick="return doclink('link-168', 'javascript', 'link-44');">javascript</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-comment"># We must get rid of included stylesheets if Javascript is not</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-comment"># allowed, as you can put Javascript in them</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-169', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt class="py-string">'link'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'stylesheet'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-164', 'get', 'link-127');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'rel'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-comment"># Note this kills alternate stylesheets as well</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name" targets="Method lxml.html.clean.Cleaner.allow_element()=lxml.html.clean.Cleaner-class.html#allow_element"><a title="lxml.html.clean.Cleaner.allow_element" class="py-name" href="#" onclick="return doclink('link-165', 'allow_element', 'link-165');">allow_element</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-166', 'drop_tree', 'link-136');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="lxml.html.clean.Cleaner.meta" class="py-name" href="#" onclick="return doclink('link-167', 'meta', 'link-48');">meta</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt id="link-168" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-168', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-170', 'get', 'link-131');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'rel'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-comment"># Note this kills alternate stylesheets as well</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name" targets="Method lxml.html.clean.Cleaner.allow_element()=lxml.html.clean.Cleaner-class.html#allow_element"><a title="lxml.html.clean.Cleaner.allow_element" class="py-name" href="#" onclick="return doclink('link-171', 'allow_element', 'link-171');">allow_element</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-172', 'drop_tree', 'link-141');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="lxml.html.clean.Cleaner.meta" class="py-name" href="#" onclick="return doclink('link-173', 'meta', 'link-49');">meta</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt id="link-174" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-174', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-169', 'add', 'link-95');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'meta'</tt><tt class="py-op">)</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="lxml.html.clean.Cleaner.page_structure" class="py-name" href="#" onclick="return doclink('link-170', 'page_structure', 'link-49');">page_structure</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt id="link-171" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-171', 'remove_tags', 'link-55');">remove_tags</a></tt><tt class="py-op">.</tt><tt id="link-172" class="py-name" targets="Method lxml.etree._Attrib.update()=lxml.etree._Attrib-class.html#update,Method lxml.html.Classes.update()=lxml.html.Classes-class.html#update"><a title="lxml.etree._Attrib.update
-lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-172', 'update', 'link-172');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'head'</tt><tt class="py-op">,</tt> <tt class="py-string">'html'</tt><tt class="py-op">,</tt> <tt class="py-string">'title'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="lxml.html.clean.Cleaner.embedded" class="py-name" href="#" onclick="return doclink('link-173', 'embedded', 'link-51');">embedded</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: is <layer> really embedded?</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-comment"># We should get rid of any <param> tags not inside <applet>;</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-comment"># These are not really valid anyway.</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-174', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt class="py-string">'param'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-name">found_parent</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name" targets="Method lxml.etree._Element.getparent()=lxml.etree._Element-class.html#getparent,Method lxml.etree._ElementStringResult.getparent()=lxml.etree._ElementStringResult-class.html#getparent,Method lxml.etree._ElementUnicodeResult.getparent()=lxml.etree._ElementUnicodeResult-class.html#getparent"><a title="lxml.etree._Element.getparent
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-175', 'add', 'link-99');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'meta'</tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="lxml.html.clean.Cleaner.page_structure" class="py-name" href="#" onclick="return doclink('link-176', 'page_structure', 'link-50');">page_structure</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt id="link-177" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-177', 'remove_tags', 'link-56');">remove_tags</a></tt><tt class="py-op">.</tt><tt id="link-178" class="py-name" targets="Method lxml.etree._Attrib.update()=lxml.etree._Attrib-class.html#update,Method lxml.html.Classes.update()=lxml.html.Classes-class.html#update"><a title="lxml.etree._Attrib.update
+lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-178', 'update', 'link-178');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'head'</tt><tt class="py-op">,</tt> <tt class="py-string">'html'</tt><tt class="py-op">,</tt> <tt class="py-string">'title'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="lxml.html.clean.Cleaner.embedded" class="py-name" href="#" onclick="return doclink('link-179', 'embedded', 'link-52');">embedded</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: is <layer> really embedded?</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-comment"># We should get rid of any <param> tags not inside <applet>;</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-comment"># These are not really valid anyway.</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-180', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt class="py-string">'param'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt class="py-name">found_parent</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name" targets="Method lxml.etree._Element.getparent()=lxml.etree._Element-class.html#getparent,Method lxml.etree._ElementStringResult.getparent()=lxml.etree._ElementStringResult-class.html#getparent,Method lxml.etree._ElementUnicodeResult.getparent()=lxml.etree._ElementUnicodeResult-class.html#getparent"><a title="lxml.etree._Element.getparent
lxml.etree._ElementStringResult.getparent
-lxml.etree._ElementUnicodeResult.getparent" class="py-name" href="#" onclick="return doclink('link-175', 'getparent', 'link-175');">getparent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">parent</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.etree._ElementUnicodeResult.getparent" class="py-name" href="#" onclick="return doclink('link-181', 'getparent', 'link-181');">getparent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">parent</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-176', 'tag', 'link-81');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'applet'</tt><tt class="py-op">,</tt> <tt class="py-string">'object'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="lxml.etree._Element.getparent
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-182', 'tag', 'link-85');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'applet'</tt><tt class="py-op">,</tt> <tt class="py-string">'object'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt class="py-name">parent</tt> <tt class="py-op">=</tt> <tt class="py-name">parent</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="lxml.etree._Element.getparent
lxml.etree._ElementStringResult.getparent
-lxml.etree._ElementUnicodeResult.getparent" class="py-name" href="#" onclick="return doclink('link-177', 'getparent', 'link-175');">getparent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">parent</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-178', 'drop_tree', 'link-136');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt id="link-179" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-179', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="lxml.etree._Attrib.update
-lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-180', 'update', 'link-172');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'applet'</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-comment"># The alternate contents that are in an iframe are a good fallback:</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt id="link-181" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-181', 'remove_tags', 'link-55');">remove_tags</a></tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="lxml.etree._Attrib.update
-lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-182', 'update', 'link-172');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'iframe'</tt><tt class="py-op">,</tt> <tt class="py-string">'embed'</tt><tt class="py-op">,</tt> <tt class="py-string">'layer'</tt><tt class="py-op">,</tt> <tt class="py-string">'object'</tt><tt class="py-op">,</tt> <tt class="py-string">'param'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="lxml.html.clean.Cleaner.frames" class="py-name" href="#" onclick="return doclink('link-183', 'frames', 'link-52');">frames</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: ideally we should look at the frame links, but</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-comment"># generally frames don't mix properly with an HTML</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> <tt class="py-comment"># fragment anyway.</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt id="link-184" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-184', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="lxml.etree._Attrib.update
-lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-185', 'update', 'link-172');">update</a></tt><tt class="py-op">(</tt><tt id="link-186" class="py-name"><a title="lxml.html.defs" class="py-name" href="#" onclick="return doclink('link-186', 'defs', 'link-6');">defs</a></tt><tt class="py-op">.</tt><tt id="link-187" class="py-name" targets="Variable lxml.html.defs.frame_tags=lxml.html.defs-module.html#frame_tags"><a title="lxml.html.defs.frame_tags" class="py-name" href="#" onclick="return doclink('link-187', 'frame_tags', 'link-187');">frame_tags</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="lxml.html.HtmlMixin.forms
-lxml.html.clean.Cleaner.forms" class="py-name" href="#" onclick="return doclink('link-188', 'forms', 'link-53');">forms</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt id="link-189" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-189', 'remove_tags', 'link-55');">remove_tags</a></tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.etree._ElementUnicodeResult.getparent" class="py-name" href="#" onclick="return doclink('link-183', 'getparent', 'link-181');">getparent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">parent</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-184', 'drop_tree', 'link-141');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt id="link-185" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-185', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="lxml.etree._Attrib.update
+lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-186', 'update', 'link-178');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'applet'</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-comment"># The alternate contents that are in an iframe are a good fallback:</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt id="link-187" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-187', 'remove_tags', 'link-56');">remove_tags</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="lxml.etree._Attrib.update
+lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-188', 'update', 'link-178');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'iframe'</tt><tt class="py-op">,</tt> <tt class="py-string">'embed'</tt><tt class="py-op">,</tt> <tt class="py-string">'layer'</tt><tt class="py-op">,</tt> <tt class="py-string">'object'</tt><tt class="py-op">,</tt> <tt class="py-string">'param'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="lxml.html.clean.Cleaner.frames" class="py-name" href="#" onclick="return doclink('link-189', 'frames', 'link-53');">frames</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: ideally we should look at the frame links, but</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-comment"># generally frames don't mix properly with an HTML</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-comment"># fragment anyway.</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt id="link-190" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-190', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="lxml.etree._Attrib.update
+lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-191', 'update', 'link-178');">update</a></tt><tt class="py-op">(</tt><tt id="link-192" class="py-name"><a title="lxml.html.defs" class="py-name" href="#" onclick="return doclink('link-192', 'defs', 'link-6');">defs</a></tt><tt class="py-op">.</tt><tt id="link-193" class="py-name" targets="Variable lxml.html.defs.frame_tags=lxml.html.defs-module.html#frame_tags"><a title="lxml.html.defs.frame_tags" class="py-name" href="#" onclick="return doclink('link-193', 'frame_tags', 'link-193');">frame_tags</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="lxml.html.HtmlMixin.forms
+lxml.html.clean.Cleaner.forms" class="py-name" href="#" onclick="return doclink('link-194', 'forms', 'link-54');">forms</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt id="link-195" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-195', 'remove_tags', 'link-56');">remove_tags</a></tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-190', 'add', 'link-95');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'form'</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt id="link-191" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-191', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="lxml.etree._Attrib.update
-lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-192', 'update', 'link-172');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'button'</tt><tt class="py-op">,</tt> <tt class="py-string">'input'</tt><tt class="py-op">,</tt> <tt class="py-string">'select'</tt><tt class="py-op">,</tt> <tt class="py-string">'textarea'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="lxml.html.clean.Cleaner.annoying_tags" class="py-name" href="#" onclick="return doclink('link-193', 'annoying_tags', 'link-54');">annoying_tags</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt id="link-194" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-194', 'remove_tags', 'link-55');">remove_tags</a></tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="lxml.etree._Attrib.update
-lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-195', 'update', 'link-172');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blink'</tt><tt class="py-op">,</tt> <tt class="py-string">'marquee'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-name">_remove</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-name">_kill</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-196', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-196', 'add', 'link-99');">add</a></tt><tt class="py-op">(</tt><tt class="py-string">'form'</tt><tt class="py-op">)</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt id="link-197" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-197', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="lxml.etree._Attrib.update
+lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-198', 'update', 'link-178');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'button'</tt><tt class="py-op">,</tt> <tt class="py-string">'input'</tt><tt class="py-op">,</tt> <tt class="py-string">'select'</tt><tt class="py-op">,</tt> <tt class="py-string">'textarea'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="lxml.html.clean.Cleaner.annoying_tags" class="py-name" href="#" onclick="return doclink('link-199', 'annoying_tags', 'link-55');">annoying_tags</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt id="link-200" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-200', 'remove_tags', 'link-56');">remove_tags</a></tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="lxml.etree._Attrib.update
+lxml.html.Classes.update" class="py-name" href="#" onclick="return doclink('link-201', 'update', 'link-178');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blink'</tt><tt class="py-op">,</tt> <tt class="py-string">'marquee'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-name">_remove</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">_kill</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-202', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-197', 'tag', 'link-81');">tag</a></tt> <tt class="py-keyword">in</tt> <tt id="link-198" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-198', 'kill_tags', 'link-57');">kill_tags</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="lxml.html.clean.Cleaner.allow_element" class="py-name" href="#" onclick="return doclink('link-199', 'allow_element', 'link-165');">allow_element</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-name">_kill</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name" targets="Method lxml.etree._Element.append()=lxml.etree._Element-class.html#append"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-200', 'append', 'link-200');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-203', 'tag', 'link-85');">tag</a></tt> <tt class="py-keyword">in</tt> <tt id="link-204" class="py-name"><a title="lxml.html.clean.Cleaner.kill_tags" class="py-name" href="#" onclick="return doclink('link-204', 'kill_tags', 'link-58');">kill_tags</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="lxml.html.clean.Cleaner.allow_element" class="py-name" href="#" onclick="return doclink('link-205', 'allow_element', 'link-171');">allow_element</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-name">_kill</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name" targets="Method lxml.etree._Element.append()=lxml.etree._Element-class.html#append"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-206', 'append', 'link-206');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-201', 'tag', 'link-81');">tag</a></tt> <tt class="py-keyword">in</tt> <tt id="link-202" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-202', 'remove_tags', 'link-55');">remove_tags</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="lxml.html.clean.Cleaner.allow_element" class="py-name" href="#" onclick="return doclink('link-203', 'allow_element', 'link-165');">allow_element</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-name">_remove</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-204', 'append', 'link-200');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">_remove</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_remove</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">doc</tt><tt class="py-op">:</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-comment"># We have to drop the parent-most tag, which we can't</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-comment"># do. Instead we'll rewrite it:</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">_remove</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name" targets="Method lxml.etree._Attrib.pop()=lxml.etree._Attrib-class.html#pop"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-205', 'pop', 'link-205');">pop</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-207', 'tag', 'link-85');">tag</a></tt> <tt class="py-keyword">in</tt> <tt id="link-208" class="py-name"><a title="lxml.html.clean.Cleaner.remove_tags" class="py-name" href="#" onclick="return doclink('link-208', 'remove_tags', 'link-56');">remove_tags</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="lxml.html.clean.Cleaner.allow_element" class="py-name" href="#" onclick="return doclink('link-209', 'allow_element', 'link-171');">allow_element</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-name">_remove</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-210', 'append', 'link-206');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">_remove</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_remove</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">doc</tt><tt class="py-op">:</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-comment"># We have to drop the parent-most tag, which we can't</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-comment"># do. Instead we'll rewrite it:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">_remove</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name" targets="Method lxml.etree._Attrib.pop()=lxml.etree._Attrib-class.html#pop"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-211', 'pop', 'link-211');">pop</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-206', 'tag', 'link-81');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'div'</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-212', 'tag', 'link-85');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'div'</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-207', 'attrib', 'link-103');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-208" class="py-name" targets="Method lxml.etree.DocInfo.clear()=lxml.etree.DocInfo-class.html#clear,Method lxml.etree._Attrib.clear()=lxml.etree._Attrib-class.html#clear,Method lxml.etree._Element.clear()=lxml.etree._Element-class.html#clear,Method lxml.etree._ErrorLog.clear()=lxml.etree._ErrorLog-class.html#clear"><a title="lxml.etree.DocInfo.clear
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-213', 'attrib', 'link-107');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-214" class="py-name" targets="Method lxml.etree.DocInfo.clear()=lxml.etree.DocInfo-class.html#clear,Method lxml.etree._Attrib.clear()=lxml.etree._Attrib-class.html#clear,Method lxml.etree._Element.clear()=lxml.etree._Element-class.html#clear,Method lxml.etree._ErrorLog.clear()=lxml.etree._ErrorLog-class.html#clear"><a title="lxml.etree.DocInfo.clear
lxml.etree._Attrib.clear
lxml.etree._Element.clear
-lxml.etree._ErrorLog.clear" class="py-name" href="#" onclick="return doclink('link-208', 'clear', 'link-208');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">_kill</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_kill</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">doc</tt><tt class="py-op">:</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-comment"># We have to drop the parent-most element, which we can't</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-comment"># do. Instead we'll clear it:</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">_kill</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-209', 'pop', 'link-205');">pop</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.etree._ErrorLog.clear" class="py-name" href="#" onclick="return doclink('link-214', 'clear', 'link-214');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">_kill</tt> <tt class="py-keyword">and</tt> <tt class="py-name">_kill</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">doc</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-comment"># We have to drop the parent-most element, which we can't</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> <tt class="py-comment"># do. Instead we'll clear it:</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">_kill</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-215', 'pop', 'link-211');">pop</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-210', 'tag', 'link-81');">tag</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">'html'</tt><tt class="py-op">:</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-216', 'tag', 'link-85');">tag</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">'html'</tt><tt class="py-op">:</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-211', 'tag', 'link-81');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'div'</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="lxml.etree.DocInfo.clear
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-217', 'tag', 'link-85');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'div'</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="lxml.etree.DocInfo.clear
lxml.etree._Attrib.clear
lxml.etree._Element.clear
-lxml.etree._ErrorLog.clear" class="py-name" href="#" onclick="return doclink('link-212', 'clear', 'link-208');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-name">_kill</tt><tt class="py-op">.</tt><tt class="py-name">reverse</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment"># start with innermost tags</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_kill</tt><tt class="py-op">:</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-213', 'drop_tree', 'link-136');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_remove</tt><tt class="py-op">:</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name" targets="Method lxml.html.HtmlMixin.drop_tag()=lxml.html.HtmlMixin-class.html#drop_tag"><a title="lxml.html.HtmlMixin.drop_tag" class="py-name" href="#" onclick="return doclink('link-214', 'drop_tag', 'link-214');">drop_tag</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="lxml.html.clean.Cleaner.remove_unknown_tags" class="py-name" href="#" onclick="return doclink('link-215', 'remove_unknown_tags', 'link-58');">remove_unknown_tags</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-216" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-216', 'allow_tags', 'link-56');">allow_tags</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-string">"It does not make sense to pass in both allow_tags and remove_unknown_tags"</tt><tt class="py-op">)</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt id="link-217" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-217', 'allow_tags', 'link-56');">allow_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-218" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-218', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt id="link-219" class="py-name"><a title="lxml.html.defs" class="py-name" href="#" onclick="return doclink('link-219', 'defs', 'link-6');">defs</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name" targets="Variable lxml.html.defs.tags=lxml.html.defs-module.html#tags"><a title="lxml.html.defs.tags" class="py-name" href="#" onclick="return doclink('link-220', 'tags', 'link-220');">tags</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-221" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-221', 'allow_tags', 'link-56');">allow_tags</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> <tt class="py-name">bad</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-222', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.etree._ErrorLog.clear" class="py-name" href="#" onclick="return doclink('link-218', 'clear', 'link-214');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-name">_kill</tt><tt class="py-op">.</tt><tt class="py-name">reverse</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment"># start with innermost tags</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_kill</tt><tt class="py-op">:</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-219', 'drop_tree', 'link-141');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">_remove</tt><tt class="py-op">:</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name" targets="Method lxml.html.HtmlMixin.drop_tag()=lxml.html.HtmlMixin-class.html#drop_tag"><a title="lxml.html.HtmlMixin.drop_tag" class="py-name" href="#" onclick="return doclink('link-220', 'drop_tag', 'link-220');">drop_tag</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="lxml.html.clean.Cleaner.remove_unknown_tags" class="py-name" href="#" onclick="return doclink('link-221', 'remove_unknown_tags', 'link-59');">remove_unknown_tags</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-222" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-222', 'allow_tags', 'link-57');">allow_tags</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> <tt class="py-string">"It does not make sense to pass in both allow_tags and remove_unknown_tags"</tt><tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt id="link-223" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-223', 'allow_tags', 'link-57');">allow_tags</a></tt> <tt class="py-op">=</tt> <tt id="link-224" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-224', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt id="link-225" class="py-name"><a title="lxml.html.defs" class="py-name" href="#" onclick="return doclink('link-225', 'defs', 'link-6');">defs</a></tt><tt class="py-op">.</tt><tt id="link-226" class="py-name" targets="Variable lxml.html.defs.tags=lxml.html.defs-module.html#tags"><a title="lxml.html.defs.tags" class="py-name" href="#" onclick="return doclink('link-226', 'tags', 'link-226');">tags</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-227" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-227', 'allow_tags', 'link-57');">allow_tags</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-name">bad</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-228', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-223', 'tag', 'link-81');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-224" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-224', 'allow_tags', 'link-56');">allow_tags</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> <tt class="py-name">bad</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-225', 'append', 'link-200');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bad</tt><tt class="py-op">:</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bad</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">doc</tt><tt class="py-op">:</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">bad</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-226', 'pop', 'link-205');">pop</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-229', 'tag', 'link-85');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-230" class="py-name"><a title="lxml.html.clean.Cleaner.allow_tags" class="py-name" href="#" onclick="return doclink('link-230', 'allow_tags', 'link-57');">allow_tags</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-name">bad</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-231', 'append', 'link-206');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bad</tt><tt class="py-op">:</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">bad</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">doc</tt><tt class="py-op">:</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">bad</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-232', 'pop', 'link-211');">pop</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-227', 'tag', 'link-81');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'div'</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-233', 'tag', 'link-85');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'div'</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-228', 'attrib', 'link-103');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="lxml.etree.DocInfo.clear
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-234', 'attrib', 'link-107');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="lxml.etree.DocInfo.clear
lxml.etree._Attrib.clear
lxml.etree._Element.clear
-lxml.etree._ErrorLog.clear" class="py-name" href="#" onclick="return doclink('link-229', 'clear', 'link-208');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">bad</tt><tt class="py-op">:</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="lxml.html.HtmlMixin.drop_tag" class="py-name" href="#" onclick="return doclink('link-230', 'drop_tag', 'link-214');">drop_tag</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="lxml.html.clean.Cleaner.add_nofollow" class="py-name" href="#" onclick="return doclink('link-231', 'add_nofollow', 'link-63');">add_nofollow</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-232" class="py-name"><a title="lxml.html.clean._find_external_links" class="py-name" href="#" onclick="return doclink('link-232', '_find_external_links', 'link-39');">_find_external_links</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name" targets="Method lxml.html.clean.Cleaner.allow_follow()=lxml.html.clean.Cleaner-class.html#allow_follow"><a title="lxml.html.clean.Cleaner.allow_follow" class="py-name" href="#" onclick="return doclink('link-233', 'allow_follow', 'link-233');">allow_follow</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-name">rel</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ErrorLog.clear" class="py-name" href="#" onclick="return doclink('link-235', 'clear', 'link-214');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">bad</tt><tt class="py-op">:</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="lxml.html.HtmlMixin.drop_tag" class="py-name" href="#" onclick="return doclink('link-236', 'drop_tag', 'link-220');">drop_tag</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="lxml.html.clean.Cleaner.add_nofollow" class="py-name" href="#" onclick="return doclink('link-237', 'add_nofollow', 'link-64');">add_nofollow</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-238" class="py-name"><a title="lxml.html.clean._find_external_links" class="py-name" href="#" onclick="return doclink('link-238', '_find_external_links', 'link-39');">_find_external_links</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name" targets="Method lxml.html.clean.Cleaner.allow_follow()=lxml.html.clean.Cleaner-class.html#allow_follow"><a title="lxml.html.clean.Cleaner.allow_follow" class="py-name" href="#" onclick="return doclink('link-239', 'allow_follow', 'link-239');">allow_follow</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> <tt class="py-name">rel</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-234', 'get', 'link-127');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'rel'</tt><tt class="py-op">)</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">rel</tt><tt class="py-op">:</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'nofollow'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rel</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-string">' nofollow '</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">' %s '</tt> <tt class="py-op">%</tt> <tt class="py-name">rel</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-name">rel</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s nofollow'</tt> <tt class="py-op">%</tt> <tt class="py-name">rel</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt class="py-name">rel</tt> <tt class="py-op">=</tt> <tt class="py-string">'nofollow'</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-235', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'rel'</tt><tt class="py-op">,</tt> <tt class="py-name">rel</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> </tt>
-<a name="Cleaner.allow_follow"></a><div id="Cleaner.allow_follow-def"><a name="L419"></a><tt class="py-lineno">419</tt> <a class="py-toggle" href="#" id="Cleaner.allow_follow-toggle" onclick="return toggle('Cleaner.allow_follow');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#allow_follow">allow_follow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">anchor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner.allow_follow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.allow_follow-expanded"><a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"><tt class="py-docstring"> Override to suppress rel="nofollow" on some anchors.</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> </tt>
-<a name="Cleaner.allow_element"></a><div id="Cleaner.allow_element-def"><a name="L425"></a><tt class="py-lineno">425</tt> <a class="py-toggle" href="#" id="Cleaner.allow_element-toggle" onclick="return toggle('Cleaner.allow_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#allow_element">allow_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner.allow_element-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.allow_element-expanded"><a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-240', 'get', 'link-131');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'rel'</tt><tt class="py-op">)</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">rel</tt><tt class="py-op">:</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'nofollow'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rel</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-string">' nofollow '</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">' %s '</tt> <tt class="py-op">%</tt> <tt class="py-name">rel</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-name">rel</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s nofollow'</tt> <tt class="py-op">%</tt> <tt class="py-name">rel</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-name">rel</tt> <tt class="py-op">=</tt> <tt class="py-string">'nofollow'</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-241', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'rel'</tt><tt class="py-op">,</tt> <tt class="py-name">rel</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> </tt>
+<a name="Cleaner.allow_follow"></a><div id="Cleaner.allow_follow-def"><a name="L428"></a><tt class="py-lineno">428</tt> <a class="py-toggle" href="#" id="Cleaner.allow_follow-toggle" onclick="return toggle('Cleaner.allow_follow');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#allow_follow">allow_follow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">anchor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner.allow_follow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.allow_follow-expanded"><a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"><tt class="py-docstring"> Override to suppress rel="nofollow" on some anchors.</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> </tt>
+<a name="Cleaner.allow_element"></a><div id="Cleaner.allow_element-def"><a name="L434"></a><tt class="py-lineno">434</tt> <a class="py-toggle" href="#" id="Cleaner.allow_element-toggle" onclick="return toggle('Cleaner.allow_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#allow_element">allow_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner.allow_element-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.allow_element-expanded"><a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-236', 'tag', 'link-81');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="lxml.html.clean.Cleaner._tag_link_attrs" class="py-name" href="#" onclick="return doclink('link-237', '_tag_link_attrs', 'link-77');">_tag_link_attrs</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="lxml.html.clean.Cleaner._tag_link_attrs" class="py-name" href="#" onclick="return doclink('link-238', '_tag_link_attrs', 'link-77');">_tag_link_attrs</a></tt><tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-242', 'tag', 'link-85');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="lxml.html.clean.Cleaner._tag_link_attrs" class="py-name" href="#" onclick="return doclink('link-243', '_tag_link_attrs', 'link-81');">_tag_link_attrs</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="lxml.html.clean.Cleaner._tag_link_attrs" class="py-name" href="#" onclick="return doclink('link-244', '_tag_link_attrs', 'link-81');">_tag_link_attrs</a></tt><tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-239', 'tag', 'link-81');">tag</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">one_attr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">attr</tt><tt class="py-op">:</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt> <tt class="py-line"> <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-245', 'tag', 'link-85');">tag</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">one_attr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">attr</tt><tt class="py-op">:</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-240', 'get', 'link-127');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">one_attr</tt><tt class="py-op">)</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">url</tt><tt class="py-op">:</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name" targets="Method lxml.html.clean.Cleaner.allow_embedded_url()=lxml.html.clean.Cleaner-class.html#allow_embedded_url"><a title="lxml.html.clean.Cleaner.allow_embedded_url" class="py-name" href="#" onclick="return doclink('link-241', 'allow_embedded_url', 'link-241');">allow_embedded_url</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-246', 'get', 'link-131');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">one_attr</tt><tt class="py-op">)</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">url</tt><tt class="py-op">:</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name" targets="Method lxml.html.clean.Cleaner.allow_embedded_url()=lxml.html.clean.Cleaner-class.html#allow_embedded_url"><a title="lxml.html.clean.Cleaner.allow_embedded_url" class="py-name" href="#" onclick="return doclink('link-247', 'allow_embedded_url', 'link-247');">allow_embedded_url</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-242', 'get', 'link-127');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">url</tt><tt class="py-op">:</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="lxml.html.clean.Cleaner.allow_embedded_url" class="py-name" href="#" onclick="return doclink('link-243', 'allow_embedded_url', 'link-241');">allow_embedded_url</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> </tt>
-<a name="Cleaner.allow_embedded_url"></a><div id="Cleaner.allow_embedded_url-def"><a name="L443"></a><tt class="py-lineno">443</tt> <a class="py-toggle" href="#" id="Cleaner.allow_embedded_url-toggle" onclick="return toggle('Cleaner.allow_embedded_url');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#allow_embedded_url">allow_embedded_url</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">el</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner.allow_embedded_url-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.allow_embedded_url-expanded"><a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="lxml.html.clean.Cleaner.whitelist_tags" class="py-name" href="#" onclick="return doclink('link-244', 'whitelist_tags', 'link-65');">whitelist_tags</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-248', 'get', 'link-131');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">)</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">url</tt><tt class="py-op">:</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="lxml.html.clean.Cleaner.allow_embedded_url" class="py-name" href="#" onclick="return doclink('link-249', 'allow_embedded_url', 'link-247');">allow_embedded_url</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> </tt>
+<a name="Cleaner.allow_embedded_url"></a><div id="Cleaner.allow_embedded_url-def"><a name="L452"></a><tt class="py-lineno">452</tt> <a class="py-toggle" href="#" id="Cleaner.allow_embedded_url-toggle" onclick="return toggle('Cleaner.allow_embedded_url');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#allow_embedded_url">allow_embedded_url</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">el</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner.allow_embedded_url-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.allow_embedded_url-expanded"><a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="lxml.html.clean.Cleaner.whitelist_tags" class="py-name" href="#" onclick="return doclink('link-250', 'whitelist_tags', 'link-66');">whitelist_tags</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-245', 'tag', 'link-81');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="lxml.html.clean.Cleaner.whitelist_tags" class="py-name" href="#" onclick="return doclink('link-246', 'whitelist_tags', 'link-65');">whitelist_tags</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">netloc</tt><tt class="py-op">,</tt> <tt id="link-247" class="py-name" targets="Variable lxml.etree.XPath.path=lxml.etree.XPath-class.html#path"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-247', 'path', 'link-247');">path</a></tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">fragment</tt> <tt class="py-op">=</tt> <tt class="py-name">urlsplit</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> <tt class="py-name">netloc</tt> <tt class="py-op">=</tt> <tt class="py-name">netloc</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">scheme</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'http'</tt><tt class="py-op">,</tt> <tt class="py-string">'https'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">netloc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="lxml.html.clean.Cleaner.host_whitelist" class="py-name" href="#" onclick="return doclink('link-248', 'host_whitelist', 'link-64');">host_whitelist</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> </tt>
-<a name="Cleaner.kill_conditional_comments"></a><div id="Cleaner.kill_conditional_comments-def"><a name="L455"></a><tt class="py-lineno">455</tt> <a class="py-toggle" href="#" id="Cleaner.kill_conditional_comments-toggle" onclick="return toggle('Cleaner.kill_conditional_comments');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#kill_conditional_comments">kill_conditional_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">doc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner.kill_conditional_comments-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.kill_conditional_comments-expanded"><a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"><tt class="py-docstring"> IE conditional comments basically embed HTML that the parser</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"><tt class="py-docstring"> doesn't normally see. We can't allow anything like that, so</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"><tt class="py-docstring"> we'll kill any comments that could be conditional.</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt class="py-name">bad</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-249" class="py-name" targets="Method lxml.html.clean.Cleaner._kill_elements()=lxml.html.clean.Cleaner-class.html#_kill_elements"><a title="lxml.html.clean.Cleaner._kill_elements" class="py-name" href="#" onclick="return doclink('link-249', '_kill_elements', 'link-249');">_kill_elements</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> <tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">el</tt><tt class="py-op">:</tt> <tt id="link-250" class="py-name"><a title="lxml.html.clean._conditional_comment_re" class="py-name" href="#" onclick="return doclink('link-250', '_conditional_comment_re', 'link-33');">_conditional_comment_re</a></tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-251', 'tag', 'link-85');">tag</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="lxml.html.clean.Cleaner.whitelist_tags" class="py-name" href="#" onclick="return doclink('link-252', 'whitelist_tags', 'link-66');">whitelist_tags</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">netloc</tt><tt class="py-op">,</tt> <tt id="link-253" class="py-name" targets="Variable lxml.etree.XPath.path=lxml.etree.XPath-class.html#path"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-253', 'path', 'link-253');">path</a></tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">fragment</tt> <tt class="py-op">=</tt> <tt class="py-name">urlsplit</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> <tt class="py-name">netloc</tt> <tt class="py-op">=</tt> <tt class="py-name">netloc</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">scheme</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'http'</tt><tt class="py-op">,</tt> <tt class="py-string">'https'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">netloc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="lxml.html.clean.Cleaner.host_whitelist" class="py-name" href="#" onclick="return doclink('link-254', 'host_whitelist', 'link-65');">host_whitelist</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> </tt>
+<a name="Cleaner.kill_conditional_comments"></a><div id="Cleaner.kill_conditional_comments-def"><a name="L464"></a><tt class="py-lineno">464</tt> <a class="py-toggle" href="#" id="Cleaner.kill_conditional_comments-toggle" onclick="return toggle('Cleaner.kill_conditional_comments');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#kill_conditional_comments">kill_conditional_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">doc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner.kill_conditional_comments-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.kill_conditional_comments-expanded"><a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"><tt class="py-docstring"> IE conditional comments basically embed HTML that the parser</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"><tt class="py-docstring"> doesn't normally see. We can't allow anything like that, so</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"><tt class="py-docstring"> we'll kill any comments that could be conditional.</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> <tt class="py-name">bad</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name" targets="Method lxml.html.clean.Cleaner._kill_elements()=lxml.html.clean.Cleaner-class.html#_kill_elements"><a title="lxml.html.clean.Cleaner._kill_elements" class="py-name" href="#" onclick="return doclink('link-255', '_kill_elements', 'link-255');">_kill_elements</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">el</tt><tt class="py-op">:</tt> <tt id="link-256" class="py-name"><a title="lxml.html.clean._conditional_comment_re" class="py-name" href="#" onclick="return doclink('link-256', '_conditional_comment_re', 'link-33');">_conditional_comment_re</a></tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-251', 'text', 'link-137');">text</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt id="link-252" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-257', 'text', 'link-142');">text</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt id="link-258" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-252', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-253', 'Comment', 'link-148');">Comment</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> </tt>
-<a name="Cleaner._kill_elements"></a><div id="Cleaner._kill_elements-def"><a name="L466"></a><tt class="py-lineno">466</tt> <a class="py-toggle" href="#" id="Cleaner._kill_elements-toggle" onclick="return toggle('Cleaner._kill_elements');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#_kill_elements">_kill_elements</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">doc</tt><tt class="py-op">,</tt> <tt class="py-param">condition</tt><tt class="py-op">,</tt> <tt class="py-param">iterate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner._kill_elements-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner._kill_elements-expanded"><a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> <tt class="py-name">bad</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="lxml.etree._Element.iter
-lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-254', 'iter', 'link-80');">iter</a></tt><tt class="py-op">(</tt><tt class="py-name">iterate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">condition</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> <tt class="py-name">bad</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-255', 'append', 'link-200');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">bad</tt><tt class="py-op">:</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-256', 'drop_tree', 'link-136');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> </tt>
-<a name="Cleaner._remove_javascript_link"></a><div id="Cleaner._remove_javascript_link-def"><a name="L474"></a><tt class="py-lineno">474</tt> <a class="py-toggle" href="#" id="Cleaner._remove_javascript_link-toggle" onclick="return toggle('Cleaner._remove_javascript_link');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#_remove_javascript_link">_remove_javascript_link</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">link</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner._remove_javascript_link-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner._remove_javascript_link-expanded"><a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> <tt class="py-comment"># links like "j a v a s c r i p t:" might be interpreted in IE</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-257" class="py-name"><a title="lxml.html.clean._substitute_whitespace" class="py-name" href="#" onclick="return doclink('link-257', '_substitute_whitespace', 'link-32');">_substitute_whitespace</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">link</tt><tt class="py-op">)</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-258" class="py-name" targets="Function lxml.html.clean._is_javascript_scheme()=lxml.html.clean-module.html#_is_javascript_scheme"><a title="lxml.html.clean._is_javascript_scheme" class="py-name" href="#" onclick="return doclink('link-258', '_is_javascript_scheme', 'link-258');">_is_javascript_scheme</a></tt><tt class="py-op">(</tt><tt class="py-name">new</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: should this be None to delete?</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">link</tt> </tt>
-</div><a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"> <tt id="link-259" class="py-name" targets="Method lxml.html.clean.Cleaner._substitute_comments()=lxml.html.clean.Cleaner-class.html#_substitute_comments"><a title="lxml.html.clean.Cleaner._substitute_comments" class="py-name" href="#" onclick="return doclink('link-259', '_substitute_comments', 'link-259');">_substitute_comments</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'/\*.*?\*/'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="lxml.html.builder.S" class="py-name" href="#" onclick="return doclink('link-260', 'S', 'link-22');">S</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt> <tt class="py-line"> </tt>
-<a name="Cleaner._has_sneaky_javascript"></a><div id="Cleaner._has_sneaky_javascript-def"><a name="L484"></a><tt class="py-lineno">484</tt> <a class="py-toggle" href="#" id="Cleaner._has_sneaky_javascript-toggle" onclick="return toggle('Cleaner._has_sneaky_javascript');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#_has_sneaky_javascript">_has_sneaky_javascript</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">style</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner._has_sneaky_javascript-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner._has_sneaky_javascript-expanded"><a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"><tt class="py-docstring"> Depending on the browser, stuff like ``e x p r e s s i o n(...)``</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"><tt class="py-docstring"> can get interpreted, or ``expre/* stuff */ssion(...)``. This</tt> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt> <tt class="py-line"><tt class="py-docstring"> checks for attempt to do stuff like this.</tt> </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"><tt class="py-docstring"> Typically the response will be to kill the entire style; if you</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"><tt class="py-docstring"> have just a bit of Javascript in the style another rule will catch</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"><tt class="py-docstring"> that and remove only the Javascript from the style; this catches</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt> <tt class="py-line"><tt class="py-docstring"> more sneaky attempts.</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"> <tt id="link-261" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-261', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="lxml.html.clean.Cleaner._substitute_comments" class="py-name" href="#" onclick="return doclink('link-262', '_substitute_comments', 'link-259');">_substitute_comments</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-263" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-263', 'style', 'link-46');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L496"></a><tt class="py-lineno">496</tt> <tt class="py-line"> <tt id="link-264" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-264', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-265" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-265', 'style', 'link-46');">style</a></tt><tt class="py-op">.</tt><tt id="link-266" class="py-name" targets="Method lxml.etree._Element.replace()=lxml.etree._Element-class.html#replace"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-266', 'replace', 'link-266');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"> <tt id="link-267" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-267', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-268" class="py-name"><a title="lxml.html.clean._substitute_whitespace" class="py-name" href="#" onclick="return doclink('link-268', '_substitute_whitespace', 'link-32');">_substitute_whitespace</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-269" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-269', 'style', 'link-46');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"> <tt id="link-270" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-270', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-271" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-271', 'style', 'link-46');">style</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'javascript:'</tt> <tt class="py-keyword">in</tt> <tt id="link-272" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-272', 'style', 'link-46');">style</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'expression('</tt> <tt class="py-keyword">in</tt> <tt id="link-273" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-273', 'style', 'link-46');">style</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L503"></a><tt class="py-lineno">503</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L504"></a><tt class="py-lineno">504</tt> <tt class="py-line"> </tt>
-<a name="Cleaner.clean_html"></a><div id="Cleaner.clean_html-def"><a name="L505"></a><tt class="py-lineno">505</tt> <a class="py-toggle" href="#" id="Cleaner.clean_html-toggle" onclick="return toggle('Cleaner.clean_html');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#clean_html">clean_html</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">html</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Cleaner.clean_html-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.clean_html-expanded"><a name="L506"></a><tt class="py-lineno">506</tt> <tt class="py-line"> <tt class="py-name">result_type</tt> <tt class="py-op">=</tt> <tt id="link-274" class="py-name" targets="Variable lxml.etree._LogEntry.type=lxml.etree._LogEntry-class.html#type,Variable lxml.html.InputElement.type=lxml.html.InputElement-class.html#type"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-274', 'type', 'link-274');">type</a></tt><tt class="py-op">(</tt><tt id="link-275" class="py-name"><a title="lxml.html
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-258', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-259', 'Comment', 'link-153');">Comment</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> </tt>
+<a name="Cleaner._kill_elements"></a><div id="Cleaner._kill_elements-def"><a name="L475"></a><tt class="py-lineno">475</tt> <a class="py-toggle" href="#" id="Cleaner._kill_elements-toggle" onclick="return toggle('Cleaner._kill_elements');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#_kill_elements">_kill_elements</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">doc</tt><tt class="py-op">,</tt> <tt class="py-param">condition</tt><tt class="py-op">,</tt> <tt class="py-param">iterate</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner._kill_elements-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner._kill_elements-expanded"><a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"> <tt class="py-name">bad</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="lxml.etree._Element.iter
+lxml.etree._ElementTree.iter" class="py-name" href="#" onclick="return doclink('link-260', 'iter', 'link-84');">iter</a></tt><tt class="py-op">(</tt><tt class="py-name">iterate</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">condition</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"> <tt class="py-name">bad</tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-261', 'append', 'link-206');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">bad</tt><tt class="py-op">:</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="lxml.html.HtmlMixin.drop_tree" class="py-name" href="#" onclick="return doclink('link-262', 'drop_tree', 'link-141');">drop_tree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"> </tt>
+<a name="Cleaner._remove_javascript_link"></a><div id="Cleaner._remove_javascript_link-def"><a name="L483"></a><tt class="py-lineno">483</tt> <a class="py-toggle" href="#" id="Cleaner._remove_javascript_link-toggle" onclick="return toggle('Cleaner._remove_javascript_link');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#_remove_javascript_link">_remove_javascript_link</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">link</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner._remove_javascript_link-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner._remove_javascript_link-expanded"><a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"> <tt class="py-comment"># links like "j a v a s c r i p t:" might be interpreted in IE</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"> <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt id="link-263" class="py-name"><a title="lxml.html.clean._substitute_whitespace" class="py-name" href="#" onclick="return doclink('link-263', '_substitute_whitespace', 'link-32');">_substitute_whitespace</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">link</tt><tt class="py-op">)</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-264" class="py-name" targets="Function lxml.html.clean._is_javascript_scheme()=lxml.html.clean-module.html#_is_javascript_scheme"><a title="lxml.html.clean._is_javascript_scheme" class="py-name" href="#" onclick="return doclink('link-264', '_is_javascript_scheme', 'link-264');">_is_javascript_scheme</a></tt><tt class="py-op">(</tt><tt class="py-name">new</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: should this be None to delete?</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">link</tt> </tt>
+</div><a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"> <tt id="link-265" class="py-name" targets="Method lxml.html.clean.Cleaner._substitute_comments()=lxml.html.clean.Cleaner-class.html#_substitute_comments"><a title="lxml.html.clean.Cleaner._substitute_comments" class="py-name" href="#" onclick="return doclink('link-265', '_substitute_comments', 'link-265');">_substitute_comments</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'/\*.*?\*/'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="lxml.html.builder.S" class="py-name" href="#" onclick="return doclink('link-266', 'S', 'link-22');">S</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"> </tt>
+<a name="Cleaner._has_sneaky_javascript"></a><div id="Cleaner._has_sneaky_javascript-def"><a name="L493"></a><tt class="py-lineno">493</tt> <a class="py-toggle" href="#" id="Cleaner._has_sneaky_javascript-toggle" onclick="return toggle('Cleaner._has_sneaky_javascript');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#_has_sneaky_javascript">_has_sneaky_javascript</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">style</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner._has_sneaky_javascript-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner._has_sneaky_javascript-expanded"><a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"><tt class="py-docstring"> Depending on the browser, stuff like ``e x p r e s s i o n(...)``</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt> <tt class="py-line"><tt class="py-docstring"> can get interpreted, or ``expre/* stuff */ssion(...)``. This</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"><tt class="py-docstring"> checks for attempt to do stuff like this.</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt> <tt class="py-line"><tt class="py-docstring"> Typically the response will be to kill the entire style; if you</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt> <tt class="py-line"><tt class="py-docstring"> have just a bit of Javascript in the style another rule will catch</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt> <tt class="py-line"><tt class="py-docstring"> that and remove only the Javascript from the style; this catches</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt> <tt class="py-line"><tt class="py-docstring"> more sneaky attempts.</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt> <tt class="py-line"> <tt id="link-267" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-267', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="lxml.html.clean.Cleaner._substitute_comments" class="py-name" href="#" onclick="return doclink('link-268', '_substitute_comments', 'link-265');">_substitute_comments</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-269" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-269', 'style', 'link-46');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt> <tt class="py-line"> <tt id="link-270" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-270', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-271" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-271', 'style', 'link-46');">style</a></tt><tt class="py-op">.</tt><tt id="link-272" class="py-name" targets="Method lxml.etree._Element.replace()=lxml.etree._Element-class.html#replace"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-272', 'replace', 'link-272');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt> <tt class="py-line"> <tt id="link-273" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-273', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-274" class="py-name"><a title="lxml.html.clean._substitute_whitespace" class="py-name" href="#" onclick="return doclink('link-274', '_substitute_whitespace', 'link-32');">_substitute_whitespace</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-275" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-275', 'style', 'link-46');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt> <tt class="py-line"> <tt id="link-276" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-276', 'style', 'link-46');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-277" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-277', 'style', 'link-46');">style</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'javascript:'</tt> <tt class="py-keyword">in</tt> <tt id="link-278" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-278', 'style', 'link-46');">style</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">'expression('</tt> <tt class="py-keyword">in</tt> <tt id="link-279" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-279', 'style', 'link-46');">style</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L513"></a><tt class="py-lineno">513</tt> <tt class="py-line"> </tt>
+<a name="Cleaner.clean_html"></a><div id="Cleaner.clean_html-def"><a name="L514"></a><tt class="py-lineno">514</tt> <a class="py-toggle" href="#" id="Cleaner.clean_html-toggle" onclick="return toggle('Cleaner.clean_html');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean.Cleaner-class.html#clean_html">clean_html</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">html</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Cleaner.clean_html-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Cleaner.clean_html-expanded"><a name="L515"></a><tt class="py-lineno">515</tt> <tt class="py-line"> <tt class="py-name">result_type</tt> <tt class="py-op">=</tt> <tt id="link-280" class="py-name" targets="Variable lxml.etree._LogEntry.type=lxml.etree._LogEntry-class.html#type,Variable lxml.html.InputElement.type=lxml.html.InputElement-class.html#type"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-280', 'type', 'link-280');">type</a></tt><tt class="py-op">(</tt><tt id="link-281" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-275', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L507"></a><tt class="py-lineno">507</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-276" class="py-name"><a title="lxml.html
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-281', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-282" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-276', 'html', 'link-5');">html</a></tt><tt class="py-op">,</tt> <tt id="link-277" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-277', 'basestring', 'link-18');">basestring</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-278" class="py-name"><a title="lxml.etree.fromstring
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-282', 'html', 'link-5');">html</a></tt><tt class="py-op">,</tt> <tt id="link-283" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-283', 'basestring', 'link-18');">basestring</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-284" class="py-name"><a title="lxml.etree.fromstring
lxml.html.html5parser.fromstring
lxml.html.soupparser.fromstring
-lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-278', 'fromstring', 'link-9');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-279" class="py-name"><a title="lxml.html
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-284', 'fromstring', 'link-9');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-285" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-279', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-280" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-285', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-286" class="py-name"><a title="lxml.etree.PyErrorLog.copy
lxml.etree._BaseErrorLog.copy
lxml.etree._ErrorLog.copy
lxml.etree._IDDict.copy
lxml.etree._ListErrorLog.copy
-lxml.tests.selftest2.copy" class="py-name" href="#" onclick="return doclink('link-280', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt id="link-281" class="py-name"><a title="lxml.html
+lxml.tests.selftest2.copy" class="py-name" href="#" onclick="return doclink('link-286', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt id="link-287" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-281', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_transform_result</tt><tt class="py-op">(</tt><tt class="py-name">result_type</tt><tt class="py-op">,</tt> <tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L513"></a><tt class="py-lineno">513</tt> <tt class="py-line"> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt> <tt class="py-line"><tt id="link-282" class="py-name" targets="Module lxml.html.clean=lxml.html.clean-module.html,Variable lxml.html.clean.clean=lxml.html.clean-module.html#clean"><a title="lxml.html.clean
-lxml.html.clean.clean" class="py-name" href="#" onclick="return doclink('link-282', 'clean', 'link-282');">clean</a></tt> <tt class="py-op">=</tt> <tt id="link-283" class="py-name" targets="Class lxml.html.clean.Cleaner=lxml.html.clean.Cleaner-class.html"><a title="lxml.html.clean.Cleaner" class="py-name" href="#" onclick="return doclink('link-283', 'Cleaner', 'link-283');">Cleaner</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt> <tt class="py-line"><tt id="link-284" class="py-name" targets="Method lxml.html.clean.Cleaner.clean_html()=lxml.html.clean.Cleaner-class.html#clean_html,Function lxml.html.clean.clean_html()=lxml.html.clean-module.html#clean_html"><a title="lxml.html.clean.Cleaner.clean_html
-lxml.html.clean.clean_html" class="py-name" href="#" onclick="return doclink('link-284', 'clean_html', 'link-284');">clean_html</a></tt> <tt class="py-op">=</tt> <tt id="link-285" class="py-name"><a title="lxml.html.clean
-lxml.html.clean.clean" class="py-name" href="#" onclick="return doclink('link-285', 'clean', 'link-282');">clean</a></tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="lxml.html.clean.Cleaner.clean_html
-lxml.html.clean.clean_html" class="py-name" href="#" onclick="return doclink('link-286', 'clean_html', 'link-284');">clean_html</a></tt> </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt> <tt class="py-line"> </tt>
-<a name="L517"></a><tt class="py-lineno">517</tt> <tt class="py-line"><tt class="py-comment">############################################################</tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt> <tt class="py-line"><tt class="py-comment">## Autolinking</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt> <tt class="py-line"><tt class="py-comment">############################################################</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt> <tt class="py-line"> </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt> <tt class="py-line"><tt id="link-287" class="py-name" targets="Variable lxml.html.clean._link_regexes=lxml.html.clean-module.html#_link_regexes"><a title="lxml.html.clean._link_regexes" class="py-name" href="#" onclick="return doclink('link-287', '_link_regexes', 'link-287');">_link_regexes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
-<a name="L522"></a><tt class="py-lineno">522</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'(?P<body>https?://(?P<host>[a-z0-9._-]+)(?:/[/\-_.,a-z0-9%&?;=~]*)?(?:\([/\-_.,a-z0-9%&?;=~]*\))?)'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-288', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L523"></a><tt class="py-lineno">523</tt> <tt class="py-line"> <tt class="py-comment"># This is conservative, but autolinking can be a bit conservative:</tt> </tt>
-<a name="L524"></a><tt class="py-lineno">524</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'mailto:(?P<body>[a-z0-9._-]+@(?P<host>[a-z0-9_._]+[a-z]))'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-289', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L525"></a><tt class="py-lineno">525</tt> <tt class="py-line"> <tt class="py-op">]</tt> </tt>
-<a name="L526"></a><tt class="py-lineno">526</tt> <tt class="py-line"> </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt> <tt class="py-line"><tt id="link-290" class="py-name" targets="Variable lxml.html.clean._avoid_elements=lxml.html.clean-module.html#_avoid_elements"><a title="lxml.html.clean._avoid_elements" class="py-name" href="#" onclick="return doclink('link-290', '_avoid_elements', 'link-290');">_avoid_elements</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'textarea'</tt><tt class="py-op">,</tt> <tt class="py-string">'pre'</tt><tt class="py-op">,</tt> <tt class="py-string">'code'</tt><tt class="py-op">,</tt> <tt class="py-string">'head'</tt><tt class="py-op">,</tt> <tt class="py-string">'select'</tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">]</tt> </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt> <tt class="py-line"> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt> <tt class="py-line"><tt id="link-291" class="py-name" targets="Variable lxml.html.clean._avoid_hosts=lxml.html.clean-module.html#_avoid_hosts"><a title="lxml.html.clean._avoid_hosts" class="py-name" href="#" onclick="return doclink('link-291', '_avoid_hosts', 'link-291');">_avoid_hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'^localhost'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-292', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L531"></a><tt class="py-lineno">531</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'\bexample\.(?:com|org|net)$'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-293', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L532"></a><tt class="py-lineno">532</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'^127\.0\.0\.1$'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt> <tt class="py-line"> <tt class="py-op">]</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt> <tt class="py-line"> </tt>
-<a name="L535"></a><tt class="py-lineno">535</tt> <tt class="py-line"><tt id="link-294" class="py-name" targets="Variable lxml.html.clean._avoid_classes=lxml.html.clean-module.html#_avoid_classes"><a title="lxml.html.clean._avoid_classes" class="py-name" href="#" onclick="return doclink('link-294', '_avoid_classes', 'link-294');">_avoid_classes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'nolink'</tt><tt class="py-op">]</tt> </tt>
-<a name="L536"></a><tt class="py-lineno">536</tt> <tt class="py-line"> </tt>
-<a name="autolink"></a><div id="autolink-def"><a name="L537"></a><tt class="py-lineno">537</tt> <a class="py-toggle" href="#" id="autolink-toggle" onclick="return toggle('autolink');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#autolink">autolink</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">,</tt> <tt class="py-param">link_regexes</tt><tt class="py-op">=</tt><tt id="link-295" class="py-name"><a title="lxml.html.clean._link_regexes" class="py-name" href="#" onclick="return doclink('link-295', '_link_regexes', 'link-287');">_link_regexes</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L538"></a><tt class="py-lineno">538</tt> <tt class="py-line"> <tt class="py-param">avoid_elements</tt><tt class="py-op">=</tt><tt id="link-296" class="py-name"><a title="lxml.html.clean._avoid_elements" class="py-name" href="#" onclick="return doclink('link-296', '_avoid_elements', 'link-290');">_avoid_elements</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L539"></a><tt class="py-lineno">539</tt> <tt class="py-line"> <tt class="py-param">avoid_hosts</tt><tt class="py-op">=</tt><tt id="link-297" class="py-name"><a title="lxml.html.clean._avoid_hosts" class="py-name" href="#" onclick="return doclink('link-297', '_avoid_hosts', 'link-291');">_avoid_hosts</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt> <tt class="py-line"> <tt class="py-param">avoid_classes</tt><tt class="py-op">=</tt><tt id="link-298" class="py-name"><a title="lxml.html.clean._avoid_classes" class="py-name" href="#" onclick="return doclink('link-298', '_avoid_classes', 'link-294');">_avoid_classes</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="autolink-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="autolink-expanded"><a name="L541"></a><tt class="py-lineno">541</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt> <tt class="py-line"><tt class="py-docstring"> Turn any URLs into links.</tt> </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt> <tt class="py-line"><tt class="py-docstring"> It will search for links identified by the given regular</tt> </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt> <tt class="py-line"><tt class="py-docstring"> expressions (by default mailto and http(s) links).</tt> </tt>
-<a name="L546"></a><tt class="py-lineno">546</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L547"></a><tt class="py-lineno">547</tt> <tt class="py-line"><tt class="py-docstring"> It won't link text in an element in avoid_elements, or an element</tt> </tt>
-<a name="L548"></a><tt class="py-lineno">548</tt> <tt class="py-line"><tt class="py-docstring"> with a class in avoid_classes. It won't link to anything with a</tt> </tt>
-<a name="L549"></a><tt class="py-lineno">549</tt> <tt class="py-line"><tt class="py-docstring"> host that matches one of the regular expressions in avoid_hosts</tt> </tt>
-<a name="L550"></a><tt class="py-lineno">550</tt> <tt class="py-line"><tt class="py-docstring"> (default localhost and 127.0.0.1).</tt> </tt>
-<a name="L551"></a><tt class="py-lineno">551</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt> <tt class="py-line"><tt class="py-docstring"> If you pass in an element, the element's tail will not be</tt> </tt>
-<a name="L553"></a><tt class="py-lineno">553</tt> <tt class="py-line"><tt class="py-docstring"> substituted, only the contents of the element.</tt> </tt>
-<a name="L554"></a><tt class="py-lineno">554</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L555"></a><tt class="py-lineno">555</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-299" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-287', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_transform_result</tt><tt class="py-op">(</tt><tt class="py-name">result_type</tt><tt class="py-op">,</tt> <tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L522"></a><tt class="py-lineno">522</tt> <tt class="py-line"> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt> <tt class="py-line"><tt id="link-288" class="py-name" targets="Module lxml.html.clean=lxml.html.clean-module.html,Variable lxml.html.clean.clean=lxml.html.clean-module.html#clean"><a title="lxml.html.clean
+lxml.html.clean.clean" class="py-name" href="#" onclick="return doclink('link-288', 'clean', 'link-288');">clean</a></tt> <tt class="py-op">=</tt> <tt id="link-289" class="py-name" targets="Class lxml.html.clean.Cleaner=lxml.html.clean.Cleaner-class.html"><a title="lxml.html.clean.Cleaner" class="py-name" href="#" onclick="return doclink('link-289', 'Cleaner', 'link-289');">Cleaner</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt> <tt class="py-line"><tt id="link-290" class="py-name" targets="Method lxml.html.clean.Cleaner.clean_html()=lxml.html.clean.Cleaner-class.html#clean_html,Function lxml.html.clean.clean_html()=lxml.html.clean-module.html#clean_html"><a title="lxml.html.clean.Cleaner.clean_html
+lxml.html.clean.clean_html" class="py-name" href="#" onclick="return doclink('link-290', 'clean_html', 'link-290');">clean_html</a></tt> <tt class="py-op">=</tt> <tt id="link-291" class="py-name"><a title="lxml.html.clean
+lxml.html.clean.clean" class="py-name" href="#" onclick="return doclink('link-291', 'clean', 'link-288');">clean</a></tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="lxml.html.clean.Cleaner.clean_html
+lxml.html.clean.clean_html" class="py-name" href="#" onclick="return doclink('link-292', 'clean_html', 'link-290');">clean_html</a></tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt> <tt class="py-line"> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt> <tt class="py-line"><tt class="py-comment">############################################################</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt> <tt class="py-line"><tt class="py-comment">## Autolinking</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt> <tt class="py-line"><tt class="py-comment">############################################################</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt> <tt class="py-line"> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt> <tt class="py-line"><tt id="link-293" class="py-name" targets="Variable lxml.html.clean._link_regexes=lxml.html.clean-module.html#_link_regexes"><a title="lxml.html.clean._link_regexes" class="py-name" href="#" onclick="return doclink('link-293', '_link_regexes', 'link-293');">_link_regexes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'(?P<body>https?://(?P<host>[a-z0-9._-]+)(?:/[/\-_.,a-z0-9%&?;=~]*)?(?:\([/\-_.,a-z0-9%&?;=~]*\))?)'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-294', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt> <tt class="py-line"> <tt class="py-comment"># This is conservative, but autolinking can be a bit conservative:</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'mailto:(?P<body>[a-z0-9._-]+@(?P<host>[a-z0-9_._]+[a-z]))'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-295', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt> <tt class="py-line"> <tt class="py-op">]</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt> <tt class="py-line"> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt> <tt class="py-line"><tt id="link-296" class="py-name" targets="Variable lxml.html.clean._avoid_elements=lxml.html.clean-module.html#_avoid_elements"><a title="lxml.html.clean._avoid_elements" class="py-name" href="#" onclick="return doclink('link-296', '_avoid_elements', 'link-296');">_avoid_elements</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'textarea'</tt><tt class="py-op">,</tt> <tt class="py-string">'pre'</tt><tt class="py-op">,</tt> <tt class="py-string">'code'</tt><tt class="py-op">,</tt> <tt class="py-string">'head'</tt><tt class="py-op">,</tt> <tt class="py-string">'select'</tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">]</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt> <tt class="py-line"> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt> <tt class="py-line"><tt id="link-297" class="py-name" targets="Variable lxml.html.clean._avoid_hosts=lxml.html.clean-module.html#_avoid_hosts"><a title="lxml.html.clean._avoid_hosts" class="py-name" href="#" onclick="return doclink('link-297', '_avoid_hosts', 'link-297');">_avoid_hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'^localhost'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-298', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'\bexample\.(?:com|org|net)$'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-299" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-299', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt> <tt class="py-line"> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'^127\.0\.0\.1$'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt> <tt class="py-line"> <tt class="py-op">]</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt> <tt class="py-line"> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt> <tt class="py-line"><tt id="link-300" class="py-name" targets="Variable lxml.html.clean._avoid_classes=lxml.html.clean-module.html#_avoid_classes"><a title="lxml.html.clean._avoid_classes" class="py-name" href="#" onclick="return doclink('link-300', '_avoid_classes', 'link-300');">_avoid_classes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'nolink'</tt><tt class="py-op">]</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt> <tt class="py-line"> </tt>
+<a name="autolink"></a><div id="autolink-def"><a name="L546"></a><tt class="py-lineno">546</tt> <a class="py-toggle" href="#" id="autolink-toggle" onclick="return toggle('autolink');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#autolink">autolink</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">,</tt> <tt class="py-param">link_regexes</tt><tt class="py-op">=</tt><tt id="link-301" class="py-name"><a title="lxml.html.clean._link_regexes" class="py-name" href="#" onclick="return doclink('link-301', '_link_regexes', 'link-293');">_link_regexes</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt> <tt class="py-line"> <tt class="py-param">avoid_elements</tt><tt class="py-op">=</tt><tt id="link-302" class="py-name"><a title="lxml.html.clean._avoid_elements" class="py-name" href="#" onclick="return doclink('link-302', '_avoid_elements', 'link-296');">_avoid_elements</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt> <tt class="py-line"> <tt class="py-param">avoid_hosts</tt><tt class="py-op">=</tt><tt id="link-303" class="py-name"><a title="lxml.html.clean._avoid_hosts" class="py-name" href="#" onclick="return doclink('link-303', '_avoid_hosts', 'link-297');">_avoid_hosts</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt> <tt class="py-line"> <tt class="py-param">avoid_classes</tt><tt class="py-op">=</tt><tt id="link-304" class="py-name"><a title="lxml.html.clean._avoid_classes" class="py-name" href="#" onclick="return doclink('link-304', '_avoid_classes', 'link-300');">_avoid_classes</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="autolink-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="autolink-expanded"><a name="L550"></a><tt class="py-lineno">550</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt> <tt class="py-line"><tt class="py-docstring"> Turn any URLs into links.</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt> <tt class="py-line"><tt class="py-docstring"> It will search for links identified by the given regular</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt> <tt class="py-line"><tt class="py-docstring"> expressions (by default mailto and http(s) links).</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt> <tt class="py-line"><tt class="py-docstring"> It won't link text in an element in avoid_elements, or an element</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt> <tt class="py-line"><tt class="py-docstring"> with a class in avoid_classes. It won't link to anything with a</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt> <tt class="py-line"><tt class="py-docstring"> host that matches one of the regular expressions in avoid_hosts</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt> <tt class="py-line"><tt class="py-docstring"> (default localhost and 127.0.0.1).</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt> <tt class="py-line"><tt class="py-docstring"> If you pass in an element, the element's tail will not be</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt> <tt class="py-line"><tt class="py-docstring"> substituted, only the contents of the element.</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-299', 'tag', 'link-81');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">avoid_elements</tt><tt class="py-op">:</tt> </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt> <tt class="py-line"> <tt class="py-name">class_name</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-305', 'tag', 'link-85');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">avoid_elements</tt><tt class="py-op">:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt> <tt class="py-line"> <tt class="py-name">class_name</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-300', 'get', 'link-127');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'class'</tt><tt class="py-op">)</tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">class_name</tt><tt class="py-op">:</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt> <tt class="py-line"> <tt class="py-name">class_name</tt> <tt class="py-op">=</tt> <tt class="py-name">class_name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">match_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">avoid_classes</tt><tt class="py-op">:</tt> </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">class_name</tt><tt class="py-op">:</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt> <tt class="py-line"> <tt id="link-301" class="py-name" targets="Function lxml.html.clean.autolink()=lxml.html.clean-module.html#autolink"><a title="lxml.html.clean.autolink" class="py-name" href="#" onclick="return doclink('link-301', 'autolink', 'link-301');">autolink</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">link_regexes</tt><tt class="py-op">=</tt><tt class="py-name">link_regexes</tt><tt class="py-op">,</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt> <tt class="py-line"> <tt class="py-name">avoid_elements</tt><tt class="py-op">=</tt><tt class="py-name">avoid_elements</tt><tt class="py-op">,</tt> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt> <tt class="py-line"> <tt class="py-name">avoid_hosts</tt><tt class="py-op">=</tt><tt class="py-name">avoid_hosts</tt><tt class="py-op">,</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt> <tt class="py-line"> <tt class="py-name">avoid_classes</tt><tt class="py-op">=</tt><tt class="py-name">avoid_classes</tt><tt class="py-op">)</tt> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name" targets="Variable lxml.etree._Element.tail=lxml.etree._Element-class.html#tail,Variable xml.etree.ElementTree.Element.tail=xml.etree.ElementTree.Element-class.html#tail"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-302', 'tail', 'link-302');">tail</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt> <tt class="py-line"> <tt id="link-303" class="py-name"><a title="lxml.etree.QName.text
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-306', 'get', 'link-131');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'class'</tt><tt class="py-op">)</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">class_name</tt><tt class="py-op">:</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt> <tt class="py-line"> <tt class="py-name">class_name</tt> <tt class="py-op">=</tt> <tt class="py-name">class_name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">match_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">avoid_classes</tt><tt class="py-op">:</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match_class</tt> <tt class="py-keyword">in</tt> <tt class="py-name">class_name</tt><tt class="py-op">:</tt> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
+<a name="L572"></a><tt class="py-lineno">572</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L573"></a><tt class="py-lineno">573</tt> <tt class="py-line"> <tt id="link-307" class="py-name" targets="Function lxml.html.clean.autolink()=lxml.html.clean-module.html#autolink"><a title="lxml.html.clean.autolink" class="py-name" href="#" onclick="return doclink('link-307', 'autolink', 'link-307');">autolink</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">link_regexes</tt><tt class="py-op">=</tt><tt class="py-name">link_regexes</tt><tt class="py-op">,</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt> <tt class="py-line"> <tt class="py-name">avoid_elements</tt><tt class="py-op">=</tt><tt class="py-name">avoid_elements</tt><tt class="py-op">,</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt> <tt class="py-line"> <tt class="py-name">avoid_hosts</tt><tt class="py-op">=</tt><tt class="py-name">avoid_hosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt> <tt class="py-line"> <tt class="py-name">avoid_classes</tt><tt class="py-op">=</tt><tt class="py-name">avoid_classes</tt><tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name" targets="Variable lxml.etree._Element.tail=lxml.etree._Element-class.html#tail,Variable xml.etree.ElementTree.Element.tail=xml.etree.ElementTree.Element-class.html#tail"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-308', 'tail', 'link-308');">tail</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt> <tt class="py-line"> <tt id="link-309" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-303', 'text', 'link-137');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">tail_children</tt> <tt class="py-op">=</tt> <tt id="link-304" class="py-name" targets="Function lxml.html.clean._link_text()=lxml.html.clean-module.html#_link_text"><a title="lxml.html.clean._link_text" class="py-name" href="#" onclick="return doclink('link-304', '_link_text', 'link-304');">_link_text</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt> <tt class="py-line"> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-305', 'tail', 'link-302');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-name">link_regexes</tt><tt class="py-op">,</tt> <tt class="py-name">avoid_hosts</tt><tt class="py-op">,</tt> <tt class="py-name">factory</tt><tt class="py-op">=</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name" targets="Method lxml.etree._Element.makeelement()=lxml.etree._Element-class.html#makeelement,Method lxml.etree.iterparse.makeelement()=lxml.etree.iterparse-class.html#makeelement,Function lxml.tests.selftest2.makeelement()=lxml.tests.selftest2-module.html#makeelement"><a title="lxml.etree._Element.makeelement
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-309', 'text', 'link-142');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">tail_children</tt> <tt class="py-op">=</tt> <tt id="link-310" class="py-name" targets="Function lxml.html.clean._link_text()=lxml.html.clean-module.html#_link_text"><a title="lxml.html.clean._link_text" class="py-name" href="#" onclick="return doclink('link-310', '_link_text', 'link-310');">_link_text</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt> <tt class="py-line"> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-311" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-311', 'tail', 'link-308');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-name">link_regexes</tt><tt class="py-op">,</tt> <tt class="py-name">avoid_hosts</tt><tt class="py-op">,</tt> <tt class="py-name">factory</tt><tt class="py-op">=</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name" targets="Method lxml.etree._Element.makeelement()=lxml.etree._Element-class.html#makeelement,Method lxml.etree.iterparse.makeelement()=lxml.etree.iterparse-class.html#makeelement,Function lxml.tests.selftest2.makeelement()=lxml.tests.selftest2-module.html#makeelement"><a title="lxml.etree._Element.makeelement
lxml.etree.iterparse.makeelement
-lxml.tests.selftest2.makeelement" class="py-name" href="#" onclick="return doclink('link-306', 'makeelement', 'link-306');">makeelement</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tail_children</tt><tt class="py-op">:</tt> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt> <tt class="py-line"> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-307', 'tail', 'link-302');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-308" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.makeelement" class="py-name" href="#" onclick="return doclink('link-312', 'makeelement', 'link-312');">makeelement</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tail_children</tt><tt class="py-op">:</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt> <tt class="py-line"> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-313', 'tail', 'link-308');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-314" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-308', 'text', 'link-137');">text</a></tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt> <tt class="py-line"> <tt id="link-309" class="py-name" targets="Method lxml.etree._Element.index()=lxml.etree._Element-class.html#index"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-309', 'index', 'link-309');">index</a></tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-310', 'index', 'link-309');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">)</tt> </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt id="link-311" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-311', 'index', 'link-309');">index</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt id="link-312" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-312', 'index', 'link-309');">index</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">tail_children</tt> </tt>
-<a name="L575"></a><tt class="py-lineno">575</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-314', 'text', 'link-142');">text</a></tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt> <tt class="py-line"> <tt id="link-315" class="py-name" targets="Method lxml.etree._Element.index()=lxml.etree._Element-class.html#index"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-315', 'index', 'link-315');">index</a></tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-316', 'index', 'link-315');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt id="link-317" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-317', 'index', 'link-315');">index</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt id="link-318" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-318', 'index', 'link-315');">index</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">tail_children</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-319" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-313', 'text', 'link-137');">text</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L576"></a><tt class="py-lineno">576</tt> <tt class="py-line"> <tt id="link-314" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-319', 'text', 'link-142');">text</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt> <tt class="py-line"> <tt id="link-320" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-314', 'text', 'link-137');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">pre_children</tt> <tt class="py-op">=</tt> <tt id="link-315" class="py-name"><a title="lxml.html.clean._link_text" class="py-name" href="#" onclick="return doclink('link-315', '_link_text', 'link-304');">_link_text</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L577"></a><tt class="py-lineno">577</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-320', 'text', 'link-142');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">pre_children</tt> <tt class="py-op">=</tt> <tt id="link-321" class="py-name"><a title="lxml.html.clean._link_text" class="py-name" href="#" onclick="return doclink('link-321', '_link_text', 'link-310');">_link_text</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-316', 'text', 'link-137');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">link_regexes</tt><tt class="py-op">,</tt> <tt class="py-name">avoid_hosts</tt><tt class="py-op">,</tt> <tt class="py-name">factory</tt><tt class="py-op">=</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="lxml.etree._Element.makeelement
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-322', 'text', 'link-142');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">link_regexes</tt><tt class="py-op">,</tt> <tt class="py-name">avoid_hosts</tt><tt class="py-op">,</tt> <tt class="py-name">factory</tt><tt class="py-op">=</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="lxml.etree._Element.makeelement
lxml.etree.iterparse.makeelement
-lxml.tests.selftest2.makeelement" class="py-name" href="#" onclick="return doclink('link-317', 'makeelement', 'link-306');">makeelement</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L578"></a><tt class="py-lineno">578</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">pre_children</tt><tt class="py-op">:</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.makeelement" class="py-name" href="#" onclick="return doclink('link-323', 'makeelement', 'link-312');">makeelement</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">pre_children</tt><tt class="py-op">:</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-318', 'text', 'link-137');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-319" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-324', 'text', 'link-142');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-325" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-319', 'text', 'link-137');">text</a></tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">pre_children</tt> </tt>
-</div><a name="L581"></a><tt class="py-lineno">581</tt> <tt class="py-line"> </tt>
-<a name="_link_text"></a><div id="_link_text-def"><a name="L582"></a><tt class="py-lineno">582</tt> <a class="py-toggle" href="#" id="_link_text-toggle" onclick="return toggle('_link_text');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#_link_text">_link_text</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">link_regexes</tt><tt class="py-op">,</tt> <tt class="py-param">avoid_hosts</tt><tt class="py-op">,</tt> <tt class="py-param">factory</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_link_text-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_link_text-expanded"><a name="L583"></a><tt class="py-lineno">583</tt> <tt class="py-line"> <tt class="py-name">leading_text</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L584"></a><tt class="py-lineno">584</tt> <tt class="py-line"> <tt id="link-320" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-320', 'links', 'link-47');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L585"></a><tt class="py-lineno">585</tt> <tt class="py-line"> <tt class="py-name">last_pos</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L586"></a><tt class="py-lineno">586</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L587"></a><tt class="py-lineno">587</tt> <tt class="py-line"> <tt class="py-name">best_match</tt><tt class="py-op">,</tt> <tt class="py-name">best_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> </tt>
-<a name="L588"></a><tt class="py-lineno">588</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">regex</tt> <tt class="py-keyword">in</tt> <tt class="py-name">link_regexes</tt><tt class="py-op">:</tt> </tt>
-<a name="L589"></a><tt class="py-lineno">589</tt> <tt class="py-line"> <tt class="py-name">regex_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">last_pos</tt> </tt>
-<a name="L590"></a><tt class="py-lineno">590</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L591"></a><tt class="py-lineno">591</tt> <tt class="py-line"> <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">regex</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt id="link-321" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-325', 'text', 'link-142');">text</a></tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">pre_children</tt> </tt>
+</div><a name="L590"></a><tt class="py-lineno">590</tt> <tt class="py-line"> </tt>
+<a name="_link_text"></a><div id="_link_text-def"><a name="L591"></a><tt class="py-lineno">591</tt> <a class="py-toggle" href="#" id="_link_text-toggle" onclick="return toggle('_link_text');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#_link_text">_link_text</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">link_regexes</tt><tt class="py-op">,</tt> <tt class="py-param">avoid_hosts</tt><tt class="py-op">,</tt> <tt class="py-param">factory</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_link_text-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_link_text-expanded"><a name="L592"></a><tt class="py-lineno">592</tt> <tt class="py-line"> <tt class="py-name">leading_text</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt> <tt class="py-line"> <tt id="link-326" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-326', 'links', 'link-48');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt> <tt class="py-line"> <tt class="py-name">last_pos</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt> <tt class="py-line"> <tt class="py-name">best_match</tt><tt class="py-op">,</tt> <tt class="py-name">best_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">regex</tt> <tt class="py-keyword">in</tt> <tt class="py-name">link_regexes</tt><tt class="py-op">:</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt> <tt class="py-line"> <tt class="py-name">regex_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">last_pos</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt> <tt class="py-line"> <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">regex</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt id="link-327" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-321', 'text', 'link-137');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">pos</tt><tt class="py-op">=</tt><tt class="py-name">regex_pos</tt><tt class="py-op">)</tt> </tt>
-<a name="L592"></a><tt class="py-lineno">592</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L593"></a><tt class="py-lineno">593</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt> <tt class="py-line"> <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-string">'host'</tt><tt class="py-op">)</tt> </tt>
-<a name="L595"></a><tt class="py-lineno">595</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">host_regex</tt> <tt class="py-keyword">in</tt> <tt class="py-name">avoid_hosts</tt><tt class="py-op">:</tt> </tt>
-<a name="L596"></a><tt class="py-lineno">596</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">host_regex</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L597"></a><tt class="py-lineno">597</tt> <tt class="py-line"> <tt class="py-name">regex_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name" targets="Method lxml.etree.TreeBuilder.end()=lxml.etree.TreeBuilder-class.html#end"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-322', 'end', 'link-322');">end</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L598"></a><tt class="py-lineno">598</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L599"></a><tt class="py-lineno">599</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L600"></a><tt class="py-lineno">600</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L601"></a><tt class="py-lineno">601</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L602"></a><tt class="py-lineno">602</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
-<a name="L603"></a><tt class="py-lineno">603</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">best_pos</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name" targets="Method lxml.etree.TreeBuilder.start()=lxml.etree.TreeBuilder-class.html#start"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-323', 'start', 'link-323');">start</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-name">best_pos</tt><tt class="py-op">:</tt> </tt>
-<a name="L604"></a><tt class="py-lineno">604</tt> <tt class="py-line"> <tt class="py-name">best_match</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt> </tt>
-<a name="L605"></a><tt class="py-lineno">605</tt> <tt class="py-line"> <tt class="py-name">best_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-324', 'start', 'link-323');">start</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L606"></a><tt class="py-lineno">606</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">best_match</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L607"></a><tt class="py-lineno">607</tt> <tt class="py-line"> <tt class="py-comment"># No more matches</tt> </tt>
-<a name="L608"></a><tt class="py-lineno">608</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-325" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-325', 'links', 'link-47');">links</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L609"></a><tt class="py-lineno">609</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt id="link-326" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-326', 'links', 'link-47');">links</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-327', 'tail', 'link-302');">tail</a></tt> </tt>
-<a name="L610"></a><tt class="py-lineno">610</tt> <tt class="py-line"> <tt id="link-328" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-328', 'links', 'link-47');">links</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-329', 'tail', 'link-302');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-330" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-327', 'text', 'link-142');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">pos</tt><tt class="py-op">=</tt><tt class="py-name">regex_pos</tt><tt class="py-op">)</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt> <tt class="py-line"> <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-string">'host'</tt><tt class="py-op">)</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">host_regex</tt> <tt class="py-keyword">in</tt> <tt class="py-name">avoid_hosts</tt><tt class="py-op">:</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">host_regex</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt> <tt class="py-line"> <tt class="py-name">regex_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name" targets="Method lxml.etree.TreeBuilder.end()=lxml.etree.TreeBuilder-class.html#end"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-328', 'end', 'link-328');">end</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">match</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">best_pos</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name" targets="Method lxml.etree.TreeBuilder.start()=lxml.etree.TreeBuilder-class.html#start"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-329', 'start', 'link-329');">start</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-name">best_pos</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt> <tt class="py-line"> <tt class="py-name">best_match</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt> <tt class="py-line"> <tt class="py-name">best_pos</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-330', 'start', 'link-329');">start</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">best_match</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt> <tt class="py-line"> <tt class="py-comment"># No more matches</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-331" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-331', 'links', 'link-48');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt id="link-332" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-332', 'links', 'link-48');">links</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-333', 'tail', 'link-308');">tail</a></tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt> <tt class="py-line"> <tt id="link-334" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-334', 'links', 'link-48');">links</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-335', 'tail', 'link-308');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-336" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-330', 'text', 'link-137');">text</a></tt> </tt>
-<a name="L611"></a><tt class="py-lineno">611</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L612"></a><tt class="py-lineno">612</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">leading_text</tt> </tt>
-<a name="L613"></a><tt class="py-lineno">613</tt> <tt class="py-line"> <tt class="py-name">leading_text</tt> <tt class="py-op">=</tt> <tt id="link-331" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-336', 'text', 'link-142');">text</a></tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">leading_text</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt> <tt class="py-line"> <tt class="py-name">leading_text</tt> <tt class="py-op">=</tt> <tt id="link-337" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-331', 'text', 'link-137');">text</a></tt> </tt>
-<a name="L614"></a><tt class="py-lineno">614</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L615"></a><tt class="py-lineno">615</tt> <tt class="py-line"> <tt class="py-name">link</tt> <tt class="py-op">=</tt> <tt class="py-name">best_match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L616"></a><tt class="py-lineno">616</tt> <tt class="py-line"> <tt id="link-332" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-332', 'end', 'link-322');">end</a></tt> <tt class="py-op">=</tt> <tt class="py-name">best_match</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-333', 'end', 'link-322');">end</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L617"></a><tt class="py-lineno">617</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">link</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">link</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L618"></a><tt class="py-lineno">618</tt> <tt class="py-line"> <tt class="py-comment"># These punctuation marks shouldn't end a link</tt> </tt>
-<a name="L619"></a><tt class="py-lineno">619</tt> <tt class="py-line"> <tt id="link-334" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-334', 'end', 'link-322');">end</a></tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L620"></a><tt class="py-lineno">620</tt> <tt class="py-line"> <tt class="py-name">link</tt> <tt class="py-op">=</tt> <tt class="py-name">link</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L621"></a><tt class="py-lineno">621</tt> <tt class="py-line"> <tt class="py-name">prev_text</tt> <tt class="py-op">=</tt> <tt id="link-335" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-337', 'text', 'link-142');">text</a></tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt> <tt class="py-line"> <tt class="py-name">link</tt> <tt class="py-op">=</tt> <tt class="py-name">best_match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt> <tt class="py-line"> <tt id="link-338" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-338', 'end', 'link-328');">end</a></tt> <tt class="py-op">=</tt> <tt class="py-name">best_match</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-339', 'end', 'link-328');">end</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">link</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">link</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt> <tt class="py-line"> <tt class="py-comment"># These punctuation marks shouldn't end a link</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt> <tt class="py-line"> <tt id="link-340" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-340', 'end', 'link-328');">end</a></tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt> <tt class="py-line"> <tt class="py-name">link</tt> <tt class="py-op">=</tt> <tt class="py-name">link</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt> <tt class="py-line"> <tt class="py-name">prev_text</tt> <tt class="py-op">=</tt> <tt id="link-341" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-335', 'text', 'link-137');">text</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">best_match</tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-336', 'start', 'link-323');">start</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L622"></a><tt class="py-lineno">622</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-337" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-337', 'links', 'link-47');">links</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L623"></a><tt class="py-lineno">623</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt id="link-338" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-338', 'links', 'link-47');">links</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-339', 'tail', 'link-302');">tail</a></tt> </tt>
-<a name="L624"></a><tt class="py-lineno">624</tt> <tt class="py-line"> <tt id="link-340" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-340', 'links', 'link-47');">links</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-341', 'tail', 'link-302');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-name">prev_text</tt> </tt>
-<a name="L625"></a><tt class="py-lineno">625</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L626"></a><tt class="py-lineno">626</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">leading_text</tt> </tt>
-<a name="L627"></a><tt class="py-lineno">627</tt> <tt class="py-line"> <tt class="py-name">leading_text</tt> <tt class="py-op">=</tt> <tt class="py-name">prev_text</tt> </tt>
-<a name="L628"></a><tt class="py-lineno">628</tt> <tt class="py-line"> <tt class="py-name">anchor</tt> <tt class="py-op">=</tt> <tt class="py-name">factory</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L629"></a><tt class="py-lineno">629</tt> <tt class="py-line"> <tt class="py-name">anchor</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-342', 'set', 'link-66');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> <tt class="py-name">link</tt><tt class="py-op">)</tt> </tt>
-<a name="L630"></a><tt class="py-lineno">630</tt> <tt class="py-line"> <tt id="link-343" class="py-name" targets="Variable lxml.html.HtmlMixin.body=lxml.html.HtmlMixin-class.html#body"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-343', 'body', 'link-343');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">best_match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">)</tt> </tt>
-<a name="L631"></a><tt class="py-lineno">631</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-344" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-344', 'body', 'link-343');">body</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L632"></a><tt class="py-lineno">632</tt> <tt class="py-line"> <tt id="link-345" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-345', 'body', 'link-343');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">link</tt> </tt>
-<a name="L633"></a><tt class="py-lineno">633</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-346" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-346', 'body', 'link-343');">body</a></tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt id="link-347" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-347', 'body', 'link-343');">body</a></tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L634"></a><tt class="py-lineno">634</tt> <tt class="py-line"> <tt id="link-348" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-348', 'body', 'link-343');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-349" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-349', 'body', 'link-343');">body</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L635"></a><tt class="py-lineno">635</tt> <tt class="py-line"> <tt class="py-name">anchor</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-341', 'text', 'link-142');">text</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">best_match</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-342', 'start', 'link-329');">start</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-343" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-343', 'links', 'link-48');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt id="link-344" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-344', 'links', 'link-48');">links</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-345" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-345', 'tail', 'link-308');">tail</a></tt> </tt>
+<a name="L633"></a><tt class="py-lineno">633</tt> <tt class="py-line"> <tt id="link-346" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-346', 'links', 'link-48');">links</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-347" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-347', 'tail', 'link-308');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-name">prev_text</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">leading_text</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt> <tt class="py-line"> <tt class="py-name">leading_text</tt> <tt class="py-op">=</tt> <tt class="py-name">prev_text</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt> <tt class="py-line"> <tt class="py-name">anchor</tt> <tt class="py-op">=</tt> <tt class="py-name">factory</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt> <tt class="py-line"> <tt class="py-name">anchor</tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-348', 'set', 'link-67');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> <tt class="py-name">link</tt><tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt> <tt class="py-line"> <tt id="link-349" class="py-name" targets="Variable lxml.html.HtmlMixin.body=lxml.html.HtmlMixin-class.html#body"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-349', 'body', 'link-349');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">best_match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">)</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-350" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-350', 'body', 'link-349');">body</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt> <tt class="py-line"> <tt id="link-351" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-351', 'body', 'link-349');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">link</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-352" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-352', 'body', 'link-349');">body</a></tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt id="link-353" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-353', 'body', 'link-349');">body</a></tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt> <tt class="py-line"> <tt id="link-354" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-354', 'body', 'link-349');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-355" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-355', 'body', 'link-349');">body</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt> <tt class="py-line"> <tt class="py-name">anchor</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-350', 'text', 'link-137');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-351" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-351', 'body', 'link-343');">body</a></tt> </tt>
-<a name="L636"></a><tt class="py-lineno">636</tt> <tt class="py-line"> <tt id="link-352" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-352', 'links', 'link-47');">links</a></tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-353', 'append', 'link-200');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">anchor</tt><tt class="py-op">)</tt> </tt>
-<a name="L637"></a><tt class="py-lineno">637</tt> <tt class="py-line"> <tt id="link-354" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-356', 'text', 'link-142');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-357" class="py-name"><a title="lxml.html.HtmlMixin.body" class="py-name" href="#" onclick="return doclink('link-357', 'body', 'link-349');">body</a></tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt> <tt class="py-line"> <tt id="link-358" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-358', 'links', 'link-48');">links</a></tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-359', 'append', 'link-206');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">anchor</tt><tt class="py-op">)</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt> <tt class="py-line"> <tt id="link-360" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-354', 'text', 'link-137');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-355" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-360', 'text', 'link-142');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-361" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-355', 'text', 'link-137');">text</a></tt><tt class="py-op">[</tt><tt id="link-356" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-356', 'end', 'link-322');">end</a></tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L638"></a><tt class="py-lineno">638</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">leading_text</tt><tt class="py-op">,</tt> <tt id="link-357" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-357', 'links', 'link-47');">links</a></tt> </tt>
-</div><a name="L639"></a><tt class="py-lineno">639</tt> <tt class="py-line"> </tt>
-<a name="autolink_html"></a><div id="autolink_html-def"><a name="L640"></a><tt class="py-lineno">640</tt> <a class="py-toggle" href="#" id="autolink_html-toggle" onclick="return toggle('autolink_html');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#autolink_html">autolink_html</a><tt class="py-op">(</tt><tt class="py-param">html</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kw</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="autolink_html-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="autolink_html-expanded"><a name="L641"></a><tt class="py-lineno">641</tt> <tt class="py-line"> <tt class="py-name">result_type</tt> <tt class="py-op">=</tt> <tt id="link-358" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-358', 'type', 'link-274');">type</a></tt><tt class="py-op">(</tt><tt id="link-359" class="py-name"><a title="lxml.html
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-361', 'text', 'link-142');">text</a></tt><tt class="py-op">[</tt><tt id="link-362" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-362', 'end', 'link-328');">end</a></tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L647"></a><tt class="py-lineno">647</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">leading_text</tt><tt class="py-op">,</tt> <tt id="link-363" class="py-name"><a title="lxml.html.clean.Cleaner.links" class="py-name" href="#" onclick="return doclink('link-363', 'links', 'link-48');">links</a></tt> </tt>
+</div><a name="L648"></a><tt class="py-lineno">648</tt> <tt class="py-line"> </tt>
+<a name="autolink_html"></a><div id="autolink_html-def"><a name="L649"></a><tt class="py-lineno">649</tt> <a class="py-toggle" href="#" id="autolink_html-toggle" onclick="return toggle('autolink_html');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#autolink_html">autolink_html</a><tt class="py-op">(</tt><tt class="py-param">html</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kw</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="autolink_html-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="autolink_html-expanded"><a name="L650"></a><tt class="py-lineno">650</tt> <tt class="py-line"> <tt class="py-name">result_type</tt> <tt class="py-op">=</tt> <tt id="link-364" class="py-name"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-364', 'type', 'link-280');">type</a></tt><tt class="py-op">(</tt><tt id="link-365" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-359', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L642"></a><tt class="py-lineno">642</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-360" class="py-name"><a title="lxml.html
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-365', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-366" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-360', 'html', 'link-5');">html</a></tt><tt class="py-op">,</tt> <tt id="link-361" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-361', 'basestring', 'link-18');">basestring</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L643"></a><tt class="py-lineno">643</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-362" class="py-name"><a title="lxml.etree.fromstring
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-366', 'html', 'link-5');">html</a></tt><tt class="py-op">,</tt> <tt id="link-367" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-367', 'basestring', 'link-18');">basestring</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-368" class="py-name"><a title="lxml.etree.fromstring
lxml.html.html5parser.fromstring
lxml.html.soupparser.fromstring
-lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-362', 'fromstring', 'link-9');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-363" class="py-name"><a title="lxml.html
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-368', 'fromstring', 'link-9');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-369" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-363', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L644"></a><tt class="py-lineno">644</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L645"></a><tt class="py-lineno">645</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-364" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-369', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-370" class="py-name"><a title="lxml.etree.PyErrorLog.copy
lxml.etree._BaseErrorLog.copy
lxml.etree._ErrorLog.copy
lxml.etree._IDDict.copy
lxml.etree._ListErrorLog.copy
-lxml.tests.selftest2.copy" class="py-name" href="#" onclick="return doclink('link-364', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt id="link-365" class="py-name"><a title="lxml.html
+lxml.tests.selftest2.copy" class="py-name" href="#" onclick="return doclink('link-370', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt id="link-371" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-365', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L646"></a><tt class="py-lineno">646</tt> <tt class="py-line"> <tt id="link-366" class="py-name"><a title="lxml.html.clean.autolink" class="py-name" href="#" onclick="return doclink('link-366', 'autolink', 'link-301');">autolink</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kw</tt><tt class="py-op">)</tt> </tt>
-<a name="L647"></a><tt class="py-lineno">647</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_transform_result</tt><tt class="py-op">(</tt><tt class="py-name">result_type</tt><tt class="py-op">,</tt> <tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L648"></a><tt class="py-lineno">648</tt> <tt class="py-line"> </tt>
-<a name="L649"></a><tt class="py-lineno">649</tt> <tt class="py-line"><tt id="link-367" class="py-name" targets="Function lxml.html.clean.autolink_html()=lxml.html.clean-module.html#autolink_html"><a title="lxml.html.clean.autolink_html" class="py-name" href="#" onclick="return doclink('link-367', 'autolink_html', 'link-367');">autolink_html</a></tt><tt class="py-op">.</tt><tt id="link-368" class="py-name" targets="Variable lxml.html.ElementSoup.__doc__=lxml.html.ElementSoup-module.html#__doc__"><a title="lxml.html.ElementSoup.__doc__" class="py-name" href="#" onclick="return doclink('link-368', '__doc__', 'link-368');">__doc__</a></tt> <tt class="py-op">=</tt> <tt id="link-369" class="py-name"><a title="lxml.html.clean.autolink" class="py-name" href="#" onclick="return doclink('link-369', 'autolink', 'link-301');">autolink</a></tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="lxml.html.ElementSoup.__doc__" class="py-name" href="#" onclick="return doclink('link-370', '__doc__', 'link-368');">__doc__</a></tt> </tt>
-<a name="L650"></a><tt class="py-lineno">650</tt> <tt class="py-line"> </tt>
-<a name="L651"></a><tt class="py-lineno">651</tt> <tt class="py-line"><tt class="py-comment">############################################################</tt> </tt>
-<a name="L652"></a><tt class="py-lineno">652</tt> <tt class="py-line"><tt class="py-comment">## Word wrapping</tt> </tt>
-<a name="L653"></a><tt class="py-lineno">653</tt> <tt class="py-line"><tt class="py-comment">############################################################</tt> </tt>
-<a name="L654"></a><tt class="py-lineno">654</tt> <tt class="py-line"> </tt>
-<a name="L655"></a><tt class="py-lineno">655</tt> <tt class="py-line"><tt id="link-371" class="py-name" targets="Variable lxml.html.clean._avoid_word_break_elements=lxml.html.clean-module.html#_avoid_word_break_elements"><a title="lxml.html.clean._avoid_word_break_elements" class="py-name" href="#" onclick="return doclink('link-371', '_avoid_word_break_elements', 'link-371');">_avoid_word_break_elements</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'pre'</tt><tt class="py-op">,</tt> <tt class="py-string">'textarea'</tt><tt class="py-op">,</tt> <tt class="py-string">'code'</tt><tt class="py-op">]</tt> </tt>
-<a name="L656"></a><tt class="py-lineno">656</tt> <tt class="py-line"><tt id="link-372" class="py-name" targets="Variable lxml.html.clean._avoid_word_break_classes=lxml.html.clean-module.html#_avoid_word_break_classes"><a title="lxml.html.clean._avoid_word_break_classes" class="py-name" href="#" onclick="return doclink('link-372', '_avoid_word_break_classes', 'link-372');">_avoid_word_break_classes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'nobreak'</tt><tt class="py-op">]</tt> </tt>
-<a name="L657"></a><tt class="py-lineno">657</tt> <tt class="py-line"> </tt>
-<a name="word_break"></a><div id="word_break-def"><a name="L658"></a><tt class="py-lineno">658</tt> <a class="py-toggle" href="#" id="word_break-toggle" onclick="return toggle('word_break');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#word_break">word_break</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">,</tt> <tt class="py-param">max_width</tt><tt class="py-op">=</tt><tt class="py-number">40</tt><tt class="py-op">,</tt> </tt>
-<a name="L659"></a><tt class="py-lineno">659</tt> <tt class="py-line"> <tt class="py-param">avoid_elements</tt><tt class="py-op">=</tt><tt id="link-373" class="py-name"><a title="lxml.html.clean._avoid_word_break_elements" class="py-name" href="#" onclick="return doclink('link-373', '_avoid_word_break_elements', 'link-371');">_avoid_word_break_elements</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L660"></a><tt class="py-lineno">660</tt> <tt class="py-line"> <tt class="py-param">avoid_classes</tt><tt class="py-op">=</tt><tt id="link-374" class="py-name"><a title="lxml.html.clean._avoid_word_break_classes" class="py-name" href="#" onclick="return doclink('link-374', '_avoid_word_break_classes', 'link-372');">_avoid_word_break_classes</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L661"></a><tt class="py-lineno">661</tt> <tt class="py-line"> <tt class="py-param">break_character</tt><tt class="py-op">=</tt><tt id="link-375" class="py-name"><a title="lxml.html.clean.unichr" class="py-name" href="#" onclick="return doclink('link-375', 'unichr', 'link-14');">unichr</a></tt><tt class="py-op">(</tt><tt class="py-number">0x200b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="word_break-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="word_break-expanded"><a name="L662"></a><tt class="py-lineno">662</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
-<a name="L663"></a><tt class="py-lineno">663</tt> <tt class="py-line"><tt class="py-docstring"> Breaks any long words found in the body of the text (not attributes).</tt> </tt>
-<a name="L664"></a><tt class="py-lineno">664</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L665"></a><tt class="py-lineno">665</tt> <tt class="py-line"><tt class="py-docstring"> Doesn't effect any of the tags in avoid_elements, by default</tt> </tt>
-<a name="L666"></a><tt class="py-lineno">666</tt> <tt class="py-line"><tt class="py-docstring"> ``<textarea>`` and ``<pre>``</tt> </tt>
-<a name="L667"></a><tt class="py-lineno">667</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L668"></a><tt class="py-lineno">668</tt> <tt class="py-line"><tt class="py-docstring"> Breaks words by inserting &#8203;, which is a unicode character</tt> </tt>
-<a name="L669"></a><tt class="py-lineno">669</tt> <tt class="py-line"><tt class="py-docstring"> for Zero Width Space character. This generally takes up no space</tt> </tt>
-<a name="L670"></a><tt class="py-lineno">670</tt> <tt class="py-line"><tt class="py-docstring"> in rendering, but does copy as a space, and in monospace contexts</tt> </tt>
-<a name="L671"></a><tt class="py-lineno">671</tt> <tt class="py-line"><tt class="py-docstring"> usually takes up space.</tt> </tt>
-<a name="L672"></a><tt class="py-lineno">672</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L673"></a><tt class="py-lineno">673</tt> <tt class="py-line"><tt class="py-docstring"> See http://www.cs.tut.fi/~jkorpela/html/nobr.html for a discussion</tt> </tt>
-<a name="L674"></a><tt class="py-lineno">674</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L675"></a><tt class="py-lineno">675</tt> <tt class="py-line"> <tt class="py-comment"># Character suggestion of &#8203 comes from:</tt> </tt>
-<a name="L676"></a><tt class="py-lineno">676</tt> <tt class="py-line"> <tt class="py-comment"># http://www.cs.tut.fi/~jkorpela/html/nobr.html</tt> </tt>
-<a name="L677"></a><tt class="py-lineno">677</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-371', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt> <tt class="py-line"> <tt id="link-372" class="py-name"><a title="lxml.html.clean.autolink" class="py-name" href="#" onclick="return doclink('link-372', 'autolink', 'link-307');">autolink</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kw</tt><tt class="py-op">)</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_transform_result</tt><tt class="py-op">(</tt><tt class="py-name">result_type</tt><tt class="py-op">,</tt> <tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L657"></a><tt class="py-lineno">657</tt> <tt class="py-line"> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt> <tt class="py-line"><tt id="link-373" class="py-name" targets="Function lxml.html.clean.autolink_html()=lxml.html.clean-module.html#autolink_html"><a title="lxml.html.clean.autolink_html" class="py-name" href="#" onclick="return doclink('link-373', 'autolink_html', 'link-373');">autolink_html</a></tt><tt class="py-op">.</tt><tt id="link-374" class="py-name" targets="Variable lxml.html.ElementSoup.__doc__=lxml.html.ElementSoup-module.html#__doc__"><a title="lxml.html.ElementSoup.__doc__" class="py-name" href="#" onclick="return doclink('link-374', '__doc__', 'link-374');">__doc__</a></tt> <tt class="py-op">=</tt> <tt id="link-375" class="py-name"><a title="lxml.html.clean.autolink" class="py-name" href="#" onclick="return doclink('link-375', 'autolink', 'link-307');">autolink</a></tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="lxml.html.ElementSoup.__doc__" class="py-name" href="#" onclick="return doclink('link-376', '__doc__', 'link-374');">__doc__</a></tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt> <tt class="py-line"> </tt>
+<a name="L660"></a><tt class="py-lineno">660</tt> <tt class="py-line"><tt class="py-comment">############################################################</tt> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt> <tt class="py-line"><tt class="py-comment">## Word wrapping</tt> </tt>
+<a name="L662"></a><tt class="py-lineno">662</tt> <tt class="py-line"><tt class="py-comment">############################################################</tt> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt> <tt class="py-line"> </tt>
+<a name="L664"></a><tt class="py-lineno">664</tt> <tt class="py-line"><tt id="link-377" class="py-name" targets="Variable lxml.html.clean._avoid_word_break_elements=lxml.html.clean-module.html#_avoid_word_break_elements"><a title="lxml.html.clean._avoid_word_break_elements" class="py-name" href="#" onclick="return doclink('link-377', '_avoid_word_break_elements', 'link-377');">_avoid_word_break_elements</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'pre'</tt><tt class="py-op">,</tt> <tt class="py-string">'textarea'</tt><tt class="py-op">,</tt> <tt class="py-string">'code'</tt><tt class="py-op">]</tt> </tt>
+<a name="L665"></a><tt class="py-lineno">665</tt> <tt class="py-line"><tt id="link-378" class="py-name" targets="Variable lxml.html.clean._avoid_word_break_classes=lxml.html.clean-module.html#_avoid_word_break_classes"><a title="lxml.html.clean._avoid_word_break_classes" class="py-name" href="#" onclick="return doclink('link-378', '_avoid_word_break_classes', 'link-378');">_avoid_word_break_classes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'nobreak'</tt><tt class="py-op">]</tt> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt> <tt class="py-line"> </tt>
+<a name="word_break"></a><div id="word_break-def"><a name="L667"></a><tt class="py-lineno">667</tt> <a class="py-toggle" href="#" id="word_break-toggle" onclick="return toggle('word_break');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#word_break">word_break</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">,</tt> <tt class="py-param">max_width</tt><tt class="py-op">=</tt><tt class="py-number">40</tt><tt class="py-op">,</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt> <tt class="py-line"> <tt class="py-param">avoid_elements</tt><tt class="py-op">=</tt><tt id="link-379" class="py-name"><a title="lxml.html.clean._avoid_word_break_elements" class="py-name" href="#" onclick="return doclink('link-379', '_avoid_word_break_elements', 'link-377');">_avoid_word_break_elements</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt> <tt class="py-line"> <tt class="py-param">avoid_classes</tt><tt class="py-op">=</tt><tt id="link-380" class="py-name"><a title="lxml.html.clean._avoid_word_break_classes" class="py-name" href="#" onclick="return doclink('link-380', '_avoid_word_break_classes', 'link-378');">_avoid_word_break_classes</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt> <tt class="py-line"> <tt class="py-param">break_character</tt><tt class="py-op">=</tt><tt id="link-381" class="py-name"><a title="lxml.html.clean.unichr" class="py-name" href="#" onclick="return doclink('link-381', 'unichr', 'link-14');">unichr</a></tt><tt class="py-op">(</tt><tt class="py-number">0x200b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="word_break-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="word_break-expanded"><a name="L671"></a><tt class="py-lineno">671</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt> <tt class="py-line"><tt class="py-docstring"> Breaks any long words found in the body of the text (not attributes).</tt> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt> <tt class="py-line"><tt class="py-docstring"> Doesn't effect any of the tags in avoid_elements, by default</tt> </tt>
+<a name="L675"></a><tt class="py-lineno">675</tt> <tt class="py-line"><tt class="py-docstring"> ``<textarea>`` and ``<pre>``</tt> </tt>
+<a name="L676"></a><tt class="py-lineno">676</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt> <tt class="py-line"><tt class="py-docstring"> Breaks words by inserting &#8203;, which is a unicode character</tt> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt> <tt class="py-line"><tt class="py-docstring"> for Zero Width Space character. This generally takes up no space</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt> <tt class="py-line"><tt class="py-docstring"> in rendering, but does copy as a space, and in monospace contexts</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt> <tt class="py-line"><tt class="py-docstring"> usually takes up space.</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt> <tt class="py-line"><tt class="py-docstring"> See http://www.cs.tut.fi/~jkorpela/html/nobr.html for a discussion</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L684"></a><tt class="py-lineno">684</tt> <tt class="py-line"> <tt class="py-comment"># Character suggestion of &#8203 comes from:</tt> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt> <tt class="py-line"> <tt class="py-comment"># http://www.cs.tut.fi/~jkorpela/html/nobr.html</tt> </tt>
+<a name="L686"></a><tt class="py-lineno">686</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-376', 'tag', 'link-81');">tag</a></tt> <tt class="py-keyword">in</tt> <tt id="link-377" class="py-name"><a title="lxml.html.clean._avoid_word_break_elements" class="py-name" href="#" onclick="return doclink('link-377', '_avoid_word_break_elements', 'link-371');">_avoid_word_break_elements</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L678"></a><tt class="py-lineno">678</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L679"></a><tt class="py-lineno">679</tt> <tt class="py-line"> <tt class="py-name">class_name</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-382', 'tag', 'link-85');">tag</a></tt> <tt class="py-keyword">in</tt> <tt id="link-383" class="py-name"><a title="lxml.html.clean._avoid_word_break_elements" class="py-name" href="#" onclick="return doclink('link-383', '_avoid_word_break_elements', 'link-377');">_avoid_word_break_elements</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L687"></a><tt class="py-lineno">687</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt> <tt class="py-line"> <tt class="py-name">class_name</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-378', 'get', 'link-127');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'class'</tt><tt class="py-op">)</tt> </tt>
-<a name="L680"></a><tt class="py-lineno">680</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">class_name</tt><tt class="py-op">:</tt> </tt>
-<a name="L681"></a><tt class="py-lineno">681</tt> <tt class="py-line"> <tt class="py-name">dont_break</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L682"></a><tt class="py-lineno">682</tt> <tt class="py-line"> <tt class="py-name">class_name</tt> <tt class="py-op">=</tt> <tt class="py-name">class_name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L683"></a><tt class="py-lineno">683</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">avoid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">avoid_classes</tt><tt class="py-op">:</tt> </tt>
-<a name="L684"></a><tt class="py-lineno">684</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">avoid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">class_name</tt><tt class="py-op">:</tt> </tt>
-<a name="L685"></a><tt class="py-lineno">685</tt> <tt class="py-line"> <tt class="py-name">dont_break</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L686"></a><tt class="py-lineno">686</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
-<a name="L687"></a><tt class="py-lineno">687</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">dont_break</tt><tt class="py-op">:</tt> </tt>
-<a name="L688"></a><tt class="py-lineno">688</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
-<a name="L689"></a><tt class="py-lineno">689</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="lxml.etree.QName.text
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-384', 'get', 'link-131');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'class'</tt><tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">class_name</tt><tt class="py-op">:</tt> </tt>
+<a name="L690"></a><tt class="py-lineno">690</tt> <tt class="py-line"> <tt class="py-name">dont_break</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt> <tt class="py-line"> <tt class="py-name">class_name</tt> <tt class="py-op">=</tt> <tt class="py-name">class_name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L692"></a><tt class="py-lineno">692</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">avoid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">avoid_classes</tt><tt class="py-op">:</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">avoid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">class_name</tt><tt class="py-op">:</tt> </tt>
+<a name="L694"></a><tt class="py-lineno">694</tt> <tt class="py-line"> <tt class="py-name">dont_break</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">dont_break</tt><tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-379', 'text', 'link-137');">text</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L690"></a><tt class="py-lineno">690</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-385', 'text', 'link-142');">text</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-380', 'text', 'link-137');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-381" class="py-name" targets="Function lxml.html.clean._break_text()=lxml.html.clean-module.html#_break_text"><a title="lxml.html.clean._break_text" class="py-name" href="#" onclick="return doclink('link-381', '_break_text', 'link-381');">_break_text</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-386', 'text', 'link-142');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-387" class="py-name" targets="Function lxml.html.clean._break_text()=lxml.html.clean-module.html#_break_text"><a title="lxml.html.clean._break_text" class="py-name" href="#" onclick="return doclink('link-387', '_break_text', 'link-387');">_break_text</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-382', 'text', 'link-137');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_width</tt><tt class="py-op">,</tt> <tt class="py-name">break_character</tt><tt class="py-op">)</tt> </tt>
-<a name="L691"></a><tt class="py-lineno">691</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">el</tt><tt class="py-op">:</tt> </tt>
-<a name="L692"></a><tt class="py-lineno">692</tt> <tt class="py-line"> <tt id="link-383" class="py-name" targets="Function lxml.html.clean.word_break()=lxml.html.clean-module.html#word_break"><a title="lxml.html.clean.word_break" class="py-name" href="#" onclick="return doclink('link-383', 'word_break', 'link-383');">word_break</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">max_width</tt><tt class="py-op">=</tt><tt class="py-name">max_width</tt><tt class="py-op">,</tt> </tt>
-<a name="L693"></a><tt class="py-lineno">693</tt> <tt class="py-line"> <tt class="py-name">avoid_elements</tt><tt class="py-op">=</tt><tt class="py-name">avoid_elements</tt><tt class="py-op">,</tt> </tt>
-<a name="L694"></a><tt class="py-lineno">694</tt> <tt class="py-line"> <tt class="py-name">avoid_classes</tt><tt class="py-op">=</tt><tt class="py-name">avoid_classes</tt><tt class="py-op">,</tt> </tt>
-<a name="L695"></a><tt class="py-lineno">695</tt> <tt class="py-line"> <tt class="py-name">break_character</tt><tt class="py-op">=</tt><tt class="py-name">break_character</tt><tt class="py-op">)</tt> </tt>
-<a name="L696"></a><tt class="py-lineno">696</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-384', 'tail', 'link-302');">tail</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L697"></a><tt class="py-lineno">697</tt> <tt class="py-line"> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-385', 'tail', 'link-302');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-386" class="py-name"><a title="lxml.html.clean._break_text" class="py-name" href="#" onclick="return doclink('link-386', '_break_text', 'link-381');">_break_text</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-387', 'tail', 'link-302');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_width</tt><tt class="py-op">,</tt> <tt class="py-name">break_character</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L698"></a><tt class="py-lineno">698</tt> <tt class="py-line"> </tt>
-<a name="word_break_html"></a><div id="word_break_html-def"><a name="L699"></a><tt class="py-lineno">699</tt> <a class="py-toggle" href="#" id="word_break_html-toggle" onclick="return toggle('word_break_html');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#word_break_html">word_break_html</a><tt class="py-op">(</tt><tt class="py-param">html</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kw</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="word_break_html-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="word_break_html-expanded"><a name="L700"></a><tt class="py-lineno">700</tt> <tt class="py-line"> <tt class="py-name">result_type</tt> <tt class="py-op">=</tt> <tt id="link-388" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-388', 'type', 'link-274');">type</a></tt><tt class="py-op">(</tt><tt id="link-389" class="py-name"><a title="lxml.html
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-388', 'text', 'link-142');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_width</tt><tt class="py-op">,</tt> <tt class="py-name">break_character</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">el</tt><tt class="py-op">:</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt> <tt class="py-line"> <tt id="link-389" class="py-name" targets="Function lxml.html.clean.word_break()=lxml.html.clean-module.html#word_break"><a title="lxml.html.clean.word_break" class="py-name" href="#" onclick="return doclink('link-389', 'word_break', 'link-389');">word_break</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">max_width</tt><tt class="py-op">=</tt><tt class="py-name">max_width</tt><tt class="py-op">,</tt> </tt>
+<a name="L702"></a><tt class="py-lineno">702</tt> <tt class="py-line"> <tt class="py-name">avoid_elements</tt><tt class="py-op">=</tt><tt class="py-name">avoid_elements</tt><tt class="py-op">,</tt> </tt>
+<a name="L703"></a><tt class="py-lineno">703</tt> <tt class="py-line"> <tt class="py-name">avoid_classes</tt><tt class="py-op">=</tt><tt class="py-name">avoid_classes</tt><tt class="py-op">,</tt> </tt>
+<a name="L704"></a><tt class="py-lineno">704</tt> <tt class="py-line"> <tt class="py-name">break_character</tt><tt class="py-op">=</tt><tt class="py-name">break_character</tt><tt class="py-op">)</tt> </tt>
+<a name="L705"></a><tt class="py-lineno">705</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-390', 'tail', 'link-308');">tail</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt> <tt class="py-line"> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-391', 'tail', 'link-308');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-392" class="py-name"><a title="lxml.html.clean._break_text" class="py-name" href="#" onclick="return doclink('link-392', '_break_text', 'link-387');">_break_text</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-393', 'tail', 'link-308');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_width</tt><tt class="py-op">,</tt> <tt class="py-name">break_character</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L707"></a><tt class="py-lineno">707</tt> <tt class="py-line"> </tt>
+<a name="word_break_html"></a><div id="word_break_html-def"><a name="L708"></a><tt class="py-lineno">708</tt> <a class="py-toggle" href="#" id="word_break_html-toggle" onclick="return toggle('word_break_html');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#word_break_html">word_break_html</a><tt class="py-op">(</tt><tt class="py-param">html</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kw</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="word_break_html-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="word_break_html-expanded"><a name="L709"></a><tt class="py-lineno">709</tt> <tt class="py-line"> <tt class="py-name">result_type</tt> <tt class="py-op">=</tt> <tt id="link-394" class="py-name"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-394', 'type', 'link-280');">type</a></tt><tt class="py-op">(</tt><tt id="link-395" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-389', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L701"></a><tt class="py-lineno">701</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-390" class="py-name"><a title="lxml.etree.fromstring
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-395', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L710"></a><tt class="py-lineno">710</tt> <tt class="py-line"> <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-396" class="py-name"><a title="lxml.etree.fromstring
lxml.html.html5parser.fromstring
lxml.html.soupparser.fromstring
-lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-390', 'fromstring', 'link-9');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-391" class="py-name"><a title="lxml.html
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-396', 'fromstring', 'link-9');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-397" class="py-name"><a title="lxml.html
lxml.html.diff.href_token.html
lxml.html.diff.tag_token.html
-lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-391', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L702"></a><tt class="py-lineno">702</tt> <tt class="py-line"> <tt id="link-392" class="py-name"><a title="lxml.html.clean.word_break" class="py-name" href="#" onclick="return doclink('link-392', 'word_break', 'link-383');">word_break</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kw</tt><tt class="py-op">)</tt> </tt>
-<a name="L703"></a><tt class="py-lineno">703</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_transform_result</tt><tt class="py-op">(</tt><tt class="py-name">result_type</tt><tt class="py-op">,</tt> <tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L704"></a><tt class="py-lineno">704</tt> <tt class="py-line"> </tt>
-<a name="_break_text"></a><div id="_break_text-def"><a name="L705"></a><tt class="py-lineno">705</tt> <a class="py-toggle" href="#" id="_break_text-toggle" onclick="return toggle('_break_text');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#_break_text">_break_text</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">max_width</tt><tt class="py-op">,</tt> <tt class="py-param">break_character</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_break_text-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_break_text-expanded"><a name="L706"></a><tt class="py-lineno">706</tt> <tt class="py-line"> <tt class="py-name">words</tt> <tt class="py-op">=</tt> <tt id="link-393" class="py-name"><a title="lxml.etree.QName.text
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-397', 'html', 'link-5');">html</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L711"></a><tt class="py-lineno">711</tt> <tt class="py-line"> <tt id="link-398" class="py-name"><a title="lxml.html.clean.word_break" class="py-name" href="#" onclick="return doclink('link-398', 'word_break', 'link-389');">word_break</a></tt><tt class="py-op">(</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kw</tt><tt class="py-op">)</tt> </tt>
+<a name="L712"></a><tt class="py-lineno">712</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">_transform_result</tt><tt class="py-op">(</tt><tt class="py-name">result_type</tt><tt class="py-op">,</tt> <tt class="py-name">doc</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L713"></a><tt class="py-lineno">713</tt> <tt class="py-line"> </tt>
+<a name="_break_text"></a><div id="_break_text-def"><a name="L714"></a><tt class="py-lineno">714</tt> <a class="py-toggle" href="#" id="_break_text-toggle" onclick="return toggle('_break_text');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#_break_text">_break_text</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">max_width</tt><tt class="py-op">,</tt> <tt class="py-param">break_character</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_break_text-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_break_text-expanded"><a name="L715"></a><tt class="py-lineno">715</tt> <tt class="py-line"> <tt class="py-name">words</tt> <tt class="py-op">=</tt> <tt id="link-399" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-393', 'text', 'link-137');">text</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L707"></a><tt class="py-lineno">707</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">word</tt> <tt class="py-keyword">in</tt> <tt class="py-name">words</tt><tt class="py-op">:</tt> </tt>
-<a name="L708"></a><tt class="py-lineno">708</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">max_width</tt><tt class="py-op">:</tt> </tt>
-<a name="L709"></a><tt class="py-lineno">709</tt> <tt class="py-line"> <tt class="py-name">replacement</tt> <tt class="py-op">=</tt> <tt id="link-394" class="py-name" targets="Function lxml.html.clean._insert_break()=lxml.html.clean-module.html#_insert_break"><a title="lxml.html.clean._insert_break" class="py-name" href="#" onclick="return doclink('link-394', '_insert_break', 'link-394');">_insert_break</a></tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">,</tt> <tt class="py-name">max_width</tt><tt class="py-op">,</tt> <tt class="py-name">break_character</tt><tt class="py-op">)</tt> </tt>
-<a name="L710"></a><tt class="py-lineno">710</tt> <tt class="py-line"> <tt id="link-395" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-399', 'text', 'link-142');">text</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L716"></a><tt class="py-lineno">716</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">word</tt> <tt class="py-keyword">in</tt> <tt class="py-name">words</tt><tt class="py-op">:</tt> </tt>
+<a name="L717"></a><tt class="py-lineno">717</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">max_width</tt><tt class="py-op">:</tt> </tt>
+<a name="L718"></a><tt class="py-lineno">718</tt> <tt class="py-line"> <tt class="py-name">replacement</tt> <tt class="py-op">=</tt> <tt id="link-400" class="py-name" targets="Function lxml.html.clean._insert_break()=lxml.html.clean-module.html#_insert_break"><a title="lxml.html.clean._insert_break" class="py-name" href="#" onclick="return doclink('link-400', '_insert_break', 'link-400');">_insert_break</a></tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">,</tt> <tt class="py-name">max_width</tt><tt class="py-op">,</tt> <tt class="py-name">break_character</tt><tt class="py-op">)</tt> </tt>
+<a name="L719"></a><tt class="py-lineno">719</tt> <tt class="py-line"> <tt id="link-401" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-395', 'text', 'link-137');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-396" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-401', 'text', 'link-142');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-402" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-396', 'text', 'link-137');">text</a></tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-397', 'replace', 'link-266');">replace</a></tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">,</tt> <tt class="py-name">replacement</tt><tt class="py-op">)</tt> </tt>
-<a name="L711"></a><tt class="py-lineno">711</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-398" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-402', 'text', 'link-142');">text</a></tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-403', 'replace', 'link-272');">replace</a></tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">,</tt> <tt class="py-name">replacement</tt><tt class="py-op">)</tt> </tt>
+<a name="L720"></a><tt class="py-lineno">720</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-404" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-398', 'text', 'link-137');">text</a></tt> </tt>
-</div><a name="L712"></a><tt class="py-lineno">712</tt> <tt class="py-line"> </tt>
-<a name="L713"></a><tt class="py-lineno">713</tt> <tt class="py-line"><tt id="link-399" class="py-name" targets="Variable lxml.html.clean._break_prefer_re=lxml.html.clean-module.html#_break_prefer_re"><a title="lxml.html.clean._break_prefer_re" class="py-name" href="#" onclick="return doclink('link-399', '_break_prefer_re', 'link-399');">_break_prefer_re</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'[^a-z]'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-400', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L714"></a><tt class="py-lineno">714</tt> <tt class="py-line"> </tt>
-<a name="_insert_break"></a><div id="_insert_break-def"><a name="L715"></a><tt class="py-lineno">715</tt> <a class="py-toggle" href="#" id="_insert_break-toggle" onclick="return toggle('_insert_break');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#_insert_break">_insert_break</a><tt class="py-op">(</tt><tt class="py-param">word</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">,</tt> <tt class="py-param">break_character</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_insert_break-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_insert_break-expanded"><a name="L716"></a><tt class="py-lineno">716</tt> <tt class="py-line"> <tt class="py-name">orig_word</tt> <tt class="py-op">=</tt> <tt class="py-name">word</tt> </tt>
-<a name="L717"></a><tt class="py-lineno">717</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L718"></a><tt class="py-lineno">718</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">width</tt><tt class="py-op">:</tt> </tt>
-<a name="L719"></a><tt class="py-lineno">719</tt> <tt class="py-line"> <tt id="link-401" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-401', 'start', 'link-323');">start</a></tt> <tt class="py-op">=</tt> <tt class="py-name">word</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">width</tt><tt class="py-op">]</tt> </tt>
-<a name="L720"></a><tt class="py-lineno">720</tt> <tt class="py-line"> <tt class="py-name">breaks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt id="link-402" class="py-name"><a title="lxml.html.clean._break_prefer_re" class="py-name" href="#" onclick="return doclink('link-402', '_break_prefer_re', 'link-399');">_break_prefer_re</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt id="link-403" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-403', 'start', 'link-323');">start</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L721"></a><tt class="py-lineno">721</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">breaks</tt><tt class="py-op">:</tt> </tt>
-<a name="L722"></a><tt class="py-lineno">722</tt> <tt class="py-line"> <tt class="py-name">last_break</tt> <tt class="py-op">=</tt> <tt class="py-name">breaks</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L723"></a><tt class="py-lineno">723</tt> <tt class="py-line"> <tt class="py-comment"># Only walk back up to 10 characters to find a nice break:</tt> </tt>
-<a name="L724"></a><tt class="py-lineno">724</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">last_break</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-404', 'end', 'link-322');">end</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">width</tt><tt class="py-op">-</tt><tt class="py-number">10</tt><tt class="py-op">:</tt> </tt>
-<a name="L725"></a><tt class="py-lineno">725</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: should the break character be at the end of the</tt> </tt>
-<a name="L726"></a><tt class="py-lineno">726</tt> <tt class="py-line"> <tt class="py-comment"># chunk, or the beginning of the next chunk?</tt> </tt>
-<a name="L727"></a><tt class="py-lineno">727</tt> <tt class="py-line"> <tt id="link-405" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-405', 'start', 'link-323');">start</a></tt> <tt class="py-op">=</tt> <tt class="py-name">word</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">last_break</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-406', 'end', 'link-322');">end</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L728"></a><tt class="py-lineno">728</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt id="link-407" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-407', 'start', 'link-323');">start</a></tt> <tt class="py-op">+</tt> <tt class="py-name">break_character</tt> </tt>
-<a name="L729"></a><tt class="py-lineno">729</tt> <tt class="py-line"> <tt class="py-name">word</tt> <tt class="py-op">=</tt> <tt class="py-name">word</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-408" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-408', 'start', 'link-323');">start</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L730"></a><tt class="py-lineno">730</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt class="py-name">word</tt> </tt>
-<a name="L731"></a><tt class="py-lineno">731</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div><a name="L732"></a><tt class="py-lineno">732</tt> <tt class="py-line"> </tt><script type="text/javascript">
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-404', 'text', 'link-142');">text</a></tt> </tt>
+</div><a name="L721"></a><tt class="py-lineno">721</tt> <tt class="py-line"> </tt>
+<a name="L722"></a><tt class="py-lineno">722</tt> <tt class="py-line"><tt id="link-405" class="py-name" targets="Variable lxml.html.clean._break_prefer_re=lxml.html.clean-module.html#_break_prefer_re"><a title="lxml.html.clean._break_prefer_re" class="py-name" href="#" onclick="return doclink('link-405', '_break_prefer_re', 'link-405');">_break_prefer_re</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r'[^a-z]'</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="lxml.html.builder.I" class="py-name" href="#" onclick="return doclink('link-406', 'I', 'link-23');">I</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L723"></a><tt class="py-lineno">723</tt> <tt class="py-line"> </tt>
+<a name="_insert_break"></a><div id="_insert_break-def"><a name="L724"></a><tt class="py-lineno">724</tt> <a class="py-toggle" href="#" id="_insert_break-toggle" onclick="return toggle('_insert_break');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.clean-module.html#_insert_break">_insert_break</a><tt class="py-op">(</tt><tt class="py-param">word</tt><tt class="py-op">,</tt> <tt class="py-param">width</tt><tt class="py-op">,</tt> <tt class="py-param">break_character</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_insert_break-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_insert_break-expanded"><a name="L725"></a><tt class="py-lineno">725</tt> <tt class="py-line"> <tt class="py-name">orig_word</tt> <tt class="py-op">=</tt> <tt class="py-name">word</tt> </tt>
+<a name="L726"></a><tt class="py-lineno">726</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L727"></a><tt class="py-lineno">727</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">width</tt><tt class="py-op">:</tt> </tt>
+<a name="L728"></a><tt class="py-lineno">728</tt> <tt class="py-line"> <tt id="link-407" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-407', 'start', 'link-329');">start</a></tt> <tt class="py-op">=</tt> <tt class="py-name">word</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">width</tt><tt class="py-op">]</tt> </tt>
+<a name="L729"></a><tt class="py-lineno">729</tt> <tt class="py-line"> <tt class="py-name">breaks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt id="link-408" class="py-name"><a title="lxml.html.clean._break_prefer_re" class="py-name" href="#" onclick="return doclink('link-408', '_break_prefer_re', 'link-405');">_break_prefer_re</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt id="link-409" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-409', 'start', 'link-329');">start</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L730"></a><tt class="py-lineno">730</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">breaks</tt><tt class="py-op">:</tt> </tt>
+<a name="L731"></a><tt class="py-lineno">731</tt> <tt class="py-line"> <tt class="py-name">last_break</tt> <tt class="py-op">=</tt> <tt class="py-name">breaks</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L732"></a><tt class="py-lineno">732</tt> <tt class="py-line"> <tt class="py-comment"># Only walk back up to 10 characters to find a nice break:</tt> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">last_break</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-410', 'end', 'link-328');">end</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">width</tt><tt class="py-op">-</tt><tt class="py-number">10</tt><tt class="py-op">:</tt> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: should the break character be at the end of the</tt> </tt>
+<a name="L735"></a><tt class="py-lineno">735</tt> <tt class="py-line"> <tt class="py-comment"># chunk, or the beginning of the next chunk?</tt> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt> <tt class="py-line"> <tt id="link-411" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-411', 'start', 'link-329');">start</a></tt> <tt class="py-op">=</tt> <tt class="py-name">word</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">last_break</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="lxml.etree.TreeBuilder.end" class="py-name" href="#" onclick="return doclink('link-412', 'end', 'link-328');">end</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L737"></a><tt class="py-lineno">737</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt id="link-413" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-413', 'start', 'link-329');">start</a></tt> <tt class="py-op">+</tt> <tt class="py-name">break_character</tt> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt> <tt class="py-line"> <tt class="py-name">word</tt> <tt class="py-op">=</tt> <tt class="py-name">word</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-414" class="py-name"><a title="lxml.etree.TreeBuilder.start" class="py-name" href="#" onclick="return doclink('link-414', 'start', 'link-329');">start</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L739"></a><tt class="py-lineno">739</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">+=</tt> <tt class="py-name">word</tt> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L741"></a><tt class="py-lineno">741</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<dt><tt class="rst-docutils literal">comments</tt>:</dt>
<dd>Removes any comments.</dd>
<dt><tt class="rst-docutils literal">style</tt>:</dt>
-<dd>Removes any style tags or attributes.</dd>
+<dd>Removes any style tags.</dd>
+<dt><tt class="rst-docutils literal">inline_style</tt></dt>
+<dd>Removes any style attributes. Defaults to the value of the <tt class="rst-docutils literal">style</tt> option.</dd>
<dt><tt class="rst-docutils literal">links</tt>:</dt>
<dd>Removes any <tt class="rst-docutils literal"><link></tt> tags</dd>
<dt><tt class="rst-docutils literal">meta</tt>:</dt>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
+ <a name="inline_style"></a><span class="summary-name">inline_style</span> = <code title="None">None</code><br />
+ hash(x)
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type"> </span>
+ </td><td class="summary">
<a name="links"></a><span class="summary-name">links</span> = <code title="True">True</code>
</td>
</tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="lxml.html.diff-module.html#html_annotate" class="summary-sig-name">html_annotate</a>(<span class="summary-sig-arg">doclist</span>,
- <span class="summary-sig-arg">markup</span>=<span class="summary-sig-default"><function default_markup at 0x2ad9e96d9c80></span>)</span><br />
+ <span class="summary-sig-arg">markup</span>=<span class="summary-sig-default"><function default_markup at 0x2b8b5f2dac80></span>)</span><br />
doclist should be ordered from oldest to newest, like:</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.html.diff-pysrc.html#html_annotate">source code</a></span>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">html_annotate</span>(<span class="sig-arg">doclist</span>,
- <span class="sig-arg">markup</span>=<span class="sig-default"><function default_markup at 0x2ad9e96d9c80></span>)</span>
+ <span class="sig-arg">markup</span>=<span class="sig-default"><function default_markup at 0x2b8b5f2dac80></span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.html.diff-pysrc.html#html_annotate">source code</a></span>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:27 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<hr />
<div class="fields"> <p><strong>Version:</strong>
- 3.6.0
+ 3.6.1
</p>
</div><!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="E"></a><span class="summary-name">E</span> = <code title="<lxml.objectify.ElementMaker object at 0x2ad9e84059b0>"><lxml.objectify.ElementMaker object at 0x2ad9e84059b0></code>
+ <a name="E"></a><span class="summary-name">E</span> = <code title="<lxml.objectify.ElementMaker object at 0x2b8b5e0079b0>"><lxml.objectify.ElementMaker object at 0x2b8b5e0079b0></code>
</td>
</tr>
<tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<hr />
<p>PyType(self, name, type_check, type_class, stringify=None)
User defined type.</p>
-<p>Named type that contains a type check function and a type class that
-inherits from ObjectifiedDataElement. The type check must take a string
-as argument and raise ValueError or TypeError if it cannot handle the
-string value. It may be None in which case it is not considered for type
-guessing.</p>
+<p>Named type that contains a type check function, a type class that
+inherits from ObjectifiedDataElement and an optional "stringification"
+function. The type check must take a string as argument and raise
+ValueError or TypeError if it cannot handle the string value. It may be
+None in which case it is not considered for type guessing. For registered
+named types, the 'stringify' function (or unicode() if None) is used to
+convert a Python object with type name 'name' to the string representation
+stored in the XML tree.</p>
<p>Example:</p>
<pre class="rst-literal-block">
PyType('int', int, MyIntClass).register()
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:27 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:27 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:27 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a name="v"></a><span class="summary-name">v</span> = <code title="'boolean'"><code class="variable-quote">'</code><code class="variable-string">boolean</code><code class="variable-quote">'</code></code>
+ <a name="v"></a><span class="summary-name">v</span> = <code title="'positiveInteger'"><code class="variable-quote">'</code><code class="variable-string">positiveInteger</code><code class="variable-quote">'</code></code>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
lxml.html.SelectElement.value
lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1193', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-number">5.5</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L1018"></a><tt class="py-lineno">1018</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_data_element_xsitypes"></a><div id="ObjectifyTestCase.test_data_element_xsitypes-def"><a name="L1019"></a><tt class="py-lineno">1019</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_xsitypes-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_xsitypes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes">test_data_element_xsitypes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_data_element_xsitypes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_xsitypes-expanded"><a name="L1020"></a><tt class="py-lineno">1020</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt> <tt class="py-keyword">in</tt> <tt id="link-1194" class="py-name"><a title="lxml.tests.test_objectify.xsitype2objclass" class="py-name" href="#" onclick="return doclink('link-1194', 'xsitype2objclass', 'link-42');">xsitype2objclass</a></tt><tt class="py-op">.</tt><tt id="link-1195" class="py-name"><a title="lxml.etree._Attrib.items
+<a name="ObjectifyTestCase.test_type_float_precision"></a><div id="ObjectifyTestCase.test_type_float_precision-def"><a name="L1019"></a><tt class="py-lineno">1019</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_float_precision-toggle" onclick="return toggle('ObjectifyTestCase.test_type_float_precision');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_precision">test_type_float_precision</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_float_precision-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_float_precision-expanded"><a name="L1020"></a><tt class="py-lineno">1020</tt> <tt class="py-line"> <tt class="py-comment"># test not losing precision by shortened float str() value</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt> <tt class="py-line"> <tt class="py-comment"># repr(2.305064300557): '2.305064300557'</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt> <tt class="py-line"> <tt class="py-comment"># str(2.305064300557): '2.30506430056'</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt> <tt class="py-line"> <tt class="py-comment"># "%57.54f" % 2.305064300557:</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt> <tt class="py-line"> <tt class="py-comment"># ' 2.305064300556999956626214043353684246540069580078125000'</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt> <tt class="py-line"> <tt id="link-1194" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.Element
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1194', 'Element', 'link-79');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1195" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.Element
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1195', 'Element', 'link-79');">Element</a></tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt> <tt class="py-line"> <tt id="link-1196" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1196', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1197" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.Element
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1197', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">"2.305064300557"</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt> <tt class="py-line"> <tt id="link-1198" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1198', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1199" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1199', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-1200" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1200', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1201" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1201', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1202" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1202', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-1203" class="py-name"><a title="lxml.etree.QName.text
+lxml.etree._Element.text
+lxml.etree._Entity.text
+lxml.objectify.ObjectifiedElement.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1203', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1204" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1204', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-1205" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.objectify.NoneElement.pyval
+lxml.objectify.NumberElement.pyval
+lxml.objectify.ObjectifiedDataElement.pyval
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1205', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1032"></a><tt class="py-lineno">1032</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_type_float_instantiation_precision"></a><div id="ObjectifyTestCase.test_type_float_instantiation_precision-def"><a name="L1033"></a><tt class="py-lineno">1033</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_float_instantiation_precision-toggle" onclick="return toggle('ObjectifyTestCase.test_type_float_instantiation_precision');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_instantiation_precision">test_type_float_instantiation_precision</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_float_instantiation_precision-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_float_instantiation_precision-expanded"><a name="L1034"></a><tt class="py-lineno">1034</tt> <tt class="py-line"> <tt class="py-comment"># test precision preservation for FloatElement instantiation</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">"2.305064300557"</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1206" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1206', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1207" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1207', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1037"></a><tt class="py-lineno">1037</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_type_float_precision_consistency"></a><div id="ObjectifyTestCase.test_type_float_precision_consistency-def"><a name="L1038"></a><tt class="py-lineno">1038</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_float_precision_consistency-toggle" onclick="return toggle('ObjectifyTestCase.test_type_float_precision_consistency');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_float_precision_consistency">test_type_float_precision_consistency</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_float_precision_consistency-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_float_precision_consistency-expanded"><a name="L1039"></a><tt class="py-lineno">1039</tt> <tt class="py-line"> <tt class="py-comment"># test consistent FloatElement values for the different instantiation</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt> <tt class="py-line"> <tt class="py-comment"># possibilities</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt> <tt class="py-line"> <tt id="link-1208" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.Element
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1208', 'Element', 'link-79');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1209" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.Element
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1209', 'Element', 'link-79');">Element</a></tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt> <tt class="py-line"> <tt id="link-1210" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1210', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1211" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.Element
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1211', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-string">"2.305064300557"</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt> <tt class="py-line"> <tt class="py-name">float_elem</tt> <tt class="py-op">=</tt> <tt id="link-1212" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1212', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1213" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1213', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt> <tt class="py-line"> <tt class="py-name">float_data_elem</tt> <tt class="py-op">=</tt> <tt id="link-1214" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1214', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1215" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1215', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt> <tt class="py-line"> <tt id="link-1216" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1216', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">float_child</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">f</tt> <tt class="py-op">==</tt> <tt class="py-name">float_elem</tt> <tt class="py-op">==</tt> <tt class="py-name">float_data_elem</tt> <tt class="py-op">==</tt> <tt id="link-1217" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1217', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">float_child</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1049"></a><tt class="py-lineno">1049</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_float_precision"></a><div id="ObjectifyTestCase.test_data_element_float_precision-def"><a name="L1050"></a><tt class="py-lineno">1050</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_float_precision-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_float_precision');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_float_precision">test_data_element_float_precision</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_float_precision-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_float_precision-expanded"><a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"> <tt class="py-comment"># test not losing precision by shortened float str() value</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-number">2305064300557.0</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt> <tt class="py-line"> <tt id="link-1218" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.InputElement.value
+lxml.html.RadioGroup.value
+lxml.html.SelectElement.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1218', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1219" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1219', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1220" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1220', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1221" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.InputElement.value
+lxml.html.RadioGroup.value
+lxml.html.SelectElement.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1221', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt id="link-1222" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1222', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1223" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1223', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1224" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.InputElement.value
+lxml.html.RadioGroup.value
+lxml.html.SelectElement.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1224', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_float_hash_repr"></a><div id="ObjectifyTestCase.test_data_element_float_hash_repr-def"><a name="L1057"></a><tt class="py-lineno">1057</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_float_hash_repr-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_float_hash_repr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_float_hash_repr">test_data_element_float_hash_repr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_float_hash_repr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_float_hash_repr-expanded"><a name="L1058"></a><tt class="py-lineno">1058</tt> <tt class="py-line"> <tt class="py-comment"># test not losing precision by shortened float str() value</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-number">2305064300557.0</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt> <tt class="py-line"> <tt id="link-1225" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.InputElement.value
+lxml.html.RadioGroup.value
+lxml.html.SelectElement.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1225', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1226" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1226', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1227" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1227', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">hash</tt><tt class="py-op">(</tt><tt id="link-1228" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.InputElement.value
+lxml.html.RadioGroup.value
+lxml.html.SelectElement.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1228', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">hash</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_xsitypes"></a><div id="ObjectifyTestCase.test_data_element_xsitypes-def"><a name="L1063"></a><tt class="py-lineno">1063</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_xsitypes-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_xsitypes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes">test_data_element_xsitypes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_xsitypes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_xsitypes-expanded"><a name="L1064"></a><tt class="py-lineno">1064</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt> <tt class="py-keyword">in</tt> <tt id="link-1229" class="py-name"><a title="lxml.tests.test_objectify.xsitype2objclass" class="py-name" href="#" onclick="return doclink('link-1229', 'xsitype2objclass', 'link-42');">xsitype2objclass</a></tt><tt class="py-op">.</tt><tt id="link-1230" class="py-name"><a title="lxml.etree._Attrib.items
lxml.etree._Element.items
-lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-1195', 'items', 'link-137');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1021"></a><tt class="py-lineno">1021</tt> <tt class="py-line"> <tt class="py-comment"># 1 is a valid value for all ObjectifiedDataElement classes</tt> </tt>
-<a name="L1022"></a><tt class="py-lineno">1022</tt> <tt class="py-line"> <tt id="link-1196" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-1230', 'items', 'link-137');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"> <tt class="py-comment"># 1 is a valid value for all ObjectifiedDataElement classes</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt> <tt class="py-line"> <tt id="link-1231" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1196', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1023"></a><tt class="py-lineno">1023</tt> <tt class="py-line"> <tt id="link-1197" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1231', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"> <tt id="link-1232" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1197', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1198" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1198', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1199" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1199', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1200" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1232', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1233" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1233', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1234" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1234', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1235" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1200', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-name">xsi</tt><tt class="py-op">)</tt> </tt>
-<a name="L1024"></a><tt class="py-lineno">1024</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1201" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1235', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-name">xsi</tt><tt class="py-op">)</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1236" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1201', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1025"></a><tt class="py-lineno">1025</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _xsi='%s') returns %s, expected %s"</tt> </tt>
-<a name="L1026"></a><tt class="py-lineno">1026</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1202" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1236', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _xsi='%s') returns %s, expected %s"</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1237" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1202', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt id="link-1203" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1203', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1204" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1237', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt id="link-1238" class="py-name"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1238', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1239" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1204', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1027"></a><tt class="py-lineno">1027</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed"></a><div id="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed-def"><a name="L1028"></a><tt class="py-lineno">1028</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes_xsdprefixed">test_data_element_xsitypes_xsdprefixed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed-expanded"><a name="L1029"></a><tt class="py-lineno">1029</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt> <tt class="py-keyword">in</tt> <tt id="link-1205" class="py-name"><a title="lxml.tests.test_objectify.xsitype2objclass" class="py-name" href="#" onclick="return doclink('link-1205', 'xsitype2objclass', 'link-42');">xsitype2objclass</a></tt><tt class="py-op">.</tt><tt id="link-1206" class="py-name"><a title="lxml.etree._Attrib.items
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1239', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed"></a><div id="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed-def"><a name="L1072"></a><tt class="py-lineno">1072</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes_xsdprefixed">test_data_element_xsitypes_xsdprefixed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_xsitypes_xsdprefixed-expanded"><a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt> <tt class="py-keyword">in</tt> <tt id="link-1240" class="py-name"><a title="lxml.tests.test_objectify.xsitype2objclass" class="py-name" href="#" onclick="return doclink('link-1240', 'xsitype2objclass', 'link-42');">xsitype2objclass</a></tt><tt class="py-op">.</tt><tt id="link-1241" class="py-name"><a title="lxml.etree._Attrib.items
lxml.etree._Element.items
-lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-1206', 'items', 'link-137');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1030"></a><tt class="py-lineno">1030</tt> <tt class="py-line"> <tt class="py-comment"># 1 is a valid value for all ObjectifiedDataElement classes</tt> </tt>
-<a name="L1031"></a><tt class="py-lineno">1031</tt> <tt class="py-line"> <tt id="link-1207" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-1241', 'items', 'link-137');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"> <tt class="py-comment"># 1 is a valid value for all ObjectifiedDataElement classes</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt> <tt class="py-line"> <tt id="link-1242" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1207', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1032"></a><tt class="py-lineno">1032</tt> <tt class="py-line"> <tt id="link-1208" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1242', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt> <tt class="py-line"> <tt id="link-1243" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1208', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1209" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1209', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1210" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1210', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1211" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1243', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1244" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1244', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1245" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1245', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1246" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1211', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"xsd:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">xsi</tt><tt class="py-op">)</tt> </tt>
-<a name="L1033"></a><tt class="py-lineno">1033</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1212" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1246', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"xsd:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">xsi</tt><tt class="py-op">)</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1247" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1212', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1034"></a><tt class="py-lineno">1034</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _xsi='%s') returns %s, expected %s"</tt> </tt>
-<a name="L1035"></a><tt class="py-lineno">1035</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1213" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1247', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _xsi='%s') returns %s, expected %s"</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1248" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1213', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt id="link-1214" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1214', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1215" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1248', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt id="link-1249" class="py-name"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1249', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1250" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1215', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1036"></a><tt class="py-lineno">1036</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_data_element_xsitypes_prefixed"></a><div id="ObjectifyTestCase.test_data_element_xsitypes_prefixed-def"><a name="L1037"></a><tt class="py-lineno">1037</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_xsitypes_prefixed-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_xsitypes_prefixed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes_prefixed">test_data_element_xsitypes_prefixed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_data_element_xsitypes_prefixed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_xsitypes_prefixed-expanded"><a name="L1038"></a><tt class="py-lineno">1038</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt> <tt class="py-keyword">in</tt> <tt id="link-1216" class="py-name"><a title="lxml.tests.test_objectify.xsitype2objclass" class="py-name" href="#" onclick="return doclink('link-1216', 'xsitype2objclass', 'link-42');">xsitype2objclass</a></tt><tt class="py-op">.</tt><tt id="link-1217" class="py-name"><a title="lxml.etree._Attrib.items
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1250', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_xsitypes_prefixed"></a><div id="ObjectifyTestCase.test_data_element_xsitypes_prefixed-def"><a name="L1081"></a><tt class="py-lineno">1081</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_xsitypes_prefixed-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_xsitypes_prefixed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_xsitypes_prefixed">test_data_element_xsitypes_prefixed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_xsitypes_prefixed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_xsitypes_prefixed-expanded"><a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">xsi</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt> <tt class="py-keyword">in</tt> <tt id="link-1251" class="py-name"><a title="lxml.tests.test_objectify.xsitype2objclass" class="py-name" href="#" onclick="return doclink('link-1251', 'xsitype2objclass', 'link-42');">xsitype2objclass</a></tt><tt class="py-op">.</tt><tt id="link-1252" class="py-name"><a title="lxml.etree._Attrib.items
lxml.etree._Element.items
-lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-1217', 'items', 'link-137');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1039"></a><tt class="py-lineno">1039</tt> <tt class="py-line"> <tt class="py-comment"># 1 is a valid value for all ObjectifiedDataElement classes</tt> </tt>
-<a name="L1040"></a><tt class="py-lineno">1040</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1218" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1218', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1219" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1219', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L1041"></a><tt class="py-lineno">1041</tt> <tt class="py-line"> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"foo:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">xsi</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1042"></a><tt class="py-lineno">1042</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_data_element_pytypes"></a><div id="ObjectifyTestCase.test_data_element_pytypes-def"><a name="L1043"></a><tt class="py-lineno">1043</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_pytypes-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_pytypes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytypes">test_data_element_pytypes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_data_element_pytypes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_pytypes-expanded"><a name="L1044"></a><tt class="py-lineno">1044</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt> <tt class="py-keyword">in</tt> <tt id="link-1220" class="py-name"><a title="lxml.tests.test_objectify.pytype2objclass" class="py-name" href="#" onclick="return doclink('link-1220', 'pytype2objclass', 'link-56');">pytype2objclass</a></tt><tt class="py-op">.</tt><tt id="link-1221" class="py-name"><a title="lxml.etree._Attrib.items
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-1252', 'items', 'link-137');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt> <tt class="py-line"> <tt class="py-comment"># 1 is a valid value for all ObjectifiedDataElement classes</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1253" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1253', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1254" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1254', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt> <tt class="py-line"> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"foo:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">xsi</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1086"></a><tt class="py-lineno">1086</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_pytypes"></a><div id="ObjectifyTestCase.test_data_element_pytypes-def"><a name="L1087"></a><tt class="py-lineno">1087</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_pytypes-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_pytypes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytypes">test_data_element_pytypes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_pytypes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_pytypes-expanded"><a name="L1088"></a><tt class="py-lineno">1088</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt> <tt class="py-keyword">in</tt> <tt id="link-1255" class="py-name"><a title="lxml.tests.test_objectify.pytype2objclass" class="py-name" href="#" onclick="return doclink('link-1255', 'pytype2objclass', 'link-56');">pytype2objclass</a></tt><tt class="py-op">.</tt><tt id="link-1256" class="py-name"><a title="lxml.etree._Attrib.items
lxml.etree._Element.items
-lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-1221', 'items', 'link-137');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1045"></a><tt class="py-lineno">1045</tt> <tt class="py-line"> <tt class="py-comment"># 1 is a valid value for all ObjectifiedDataElement classes</tt> </tt>
-<a name="L1046"></a><tt class="py-lineno">1046</tt> <tt class="py-line"> <tt id="link-1222" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-1256', 'items', 'link-137');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"> <tt class="py-comment"># 1 is a valid value for all ObjectifiedDataElement classes</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"> <tt id="link-1257" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1222', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1047"></a><tt class="py-lineno">1047</tt> <tt class="py-line"> <tt id="link-1223" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1257', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"> <tt id="link-1258" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1223', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1224" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1224', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1225" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1225', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1226" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1258', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1259" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1259', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1260" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1260', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1261" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1226', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_pytype</tt><tt class="py-op">=</tt><tt class="py-name">pytype</tt><tt class="py-op">)</tt> </tt>
-<a name="L1048"></a><tt class="py-lineno">1048</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1227" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1261', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_pytype</tt><tt class="py-op">=</tt><tt class="py-name">pytype</tt><tt class="py-op">)</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1262" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1227', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1049"></a><tt class="py-lineno">1049</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _pytype='%s') returns %s, expected %s"</tt> </tt>
-<a name="L1050"></a><tt class="py-lineno">1050</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1228" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1262', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _pytype='%s') returns %s, expected %s"</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1263" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1228', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1229" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1229', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1230" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1263', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1264" class="py-name"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1264', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1265" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1230', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_data_element_pytype_none"></a><div id="ObjectifyTestCase.test_data_element_pytype_none-def"><a name="L1052"></a><tt class="py-lineno">1052</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_pytype_none-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_pytype_none');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none">test_data_element_pytype_none</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_data_element_pytype_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_pytype_none-expanded"><a name="L1053"></a><tt class="py-lineno">1053</tt> <tt class="py-line"> <tt id="link-1231" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1265', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_pytype_none"></a><div id="ObjectifyTestCase.test_data_element_pytype_none-def"><a name="L1096"></a><tt class="py-lineno">1096</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_pytype_none-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_pytype_none');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none">test_data_element_pytype_none</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_pytype_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_pytype_none-expanded"><a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"> <tt id="link-1266" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1231', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1054"></a><tt class="py-lineno">1054</tt> <tt class="py-line"> <tt class="py-name">pytype</tt> <tt class="py-op">=</tt> <tt class="py-string">"NoneType"</tt> </tt>
-<a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"> <tt class="py-name">objclass</tt> <tt class="py-op">=</tt> <tt id="link-1232" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1232', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1233" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-1233', 'NoneElement', 'link-353');">NoneElement</a></tt> </tt>
-<a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"> <tt id="link-1234" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1266', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt> <tt class="py-line"> <tt class="py-name">pytype</tt> <tt class="py-op">=</tt> <tt class="py-string">"NoneType"</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"> <tt class="py-name">objclass</tt> <tt class="py-op">=</tt> <tt id="link-1267" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1267', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1268" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-1268', 'NoneElement', 'link-353');">NoneElement</a></tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"> <tt id="link-1269" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1234', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1235" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1235', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1236" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1236', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1237" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1269', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1270" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1270', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1271" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1271', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1272" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1237', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_pytype</tt><tt class="py-op">=</tt><tt class="py-name">pytype</tt><tt class="py-op">)</tt> </tt>
-<a name="L1057"></a><tt class="py-lineno">1057</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1238" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1272', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_pytype</tt><tt class="py-op">=</tt><tt class="py-name">pytype</tt><tt class="py-op">)</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1273" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1238', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1058"></a><tt class="py-lineno">1058</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _pytype='%s') returns %s, expected %s"</tt> </tt>
-<a name="L1059"></a><tt class="py-lineno">1059</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1239" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1273', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _pytype='%s') returns %s, expected %s"</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1274" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1239', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1240" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1240', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1241" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1274', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1275" class="py-name"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1275', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1276" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1241', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1060"></a><tt class="py-lineno">1060</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1242" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1276', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1277" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1242', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1243" class="py-name"><a title="lxml.etree.QName.text
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1277', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1278" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1243', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1244" class="py-name"><a title="lxml.html.CheckboxGroup.value
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1278', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1279" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1244', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1245" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1279', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1280" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1245', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_data_element_pytype_none_compat"></a><div id="ObjectifyTestCase.test_data_element_pytype_none_compat-def"><a name="L1063"></a><tt class="py-lineno">1063</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_pytype_none_compat-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_pytype_none_compat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none_compat">test_data_element_pytype_none_compat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_data_element_pytype_none_compat-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_pytype_none_compat-expanded"><a name="L1064"></a><tt class="py-lineno">1064</tt> <tt class="py-line"> <tt class="py-comment"># pre-2.0 lxml called NoneElement "none"</tt> </tt>
-<a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"> <tt id="link-1246" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1280', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_pytype_none_compat"></a><div id="ObjectifyTestCase.test_data_element_pytype_none_compat-def"><a name="L1107"></a><tt class="py-lineno">1107</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_pytype_none_compat-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_pytype_none_compat');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_pytype_none_compat">test_data_element_pytype_none_compat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_pytype_none_compat-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_pytype_none_compat-expanded"><a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"> <tt class="py-comment"># pre-2.0 lxml called NoneElement "none"</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt> <tt class="py-line"> <tt id="link-1281" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1246', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1066"></a><tt class="py-lineno">1066</tt> <tt class="py-line"> <tt class="py-name">pytype</tt> <tt class="py-op">=</tt> <tt class="py-string">"none"</tt> </tt>
-<a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"> <tt class="py-name">objclass</tt> <tt class="py-op">=</tt> <tt id="link-1247" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1247', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1248" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-1248', 'NoneElement', 'link-353');">NoneElement</a></tt> </tt>
-<a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"> <tt id="link-1249" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1281', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"> <tt class="py-name">pytype</tt> <tt class="py-op">=</tt> <tt class="py-string">"none"</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"> <tt class="py-name">objclass</tt> <tt class="py-op">=</tt> <tt id="link-1282" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1282', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1283" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-1283', 'NoneElement', 'link-353');">NoneElement</a></tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"> <tt id="link-1284" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1249', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1250" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1250', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1251" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1251', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1252" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1284', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1285" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1285', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1286" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1286', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt id="link-1287" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1252', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_pytype</tt><tt class="py-op">=</tt><tt class="py-name">pytype</tt><tt class="py-op">)</tt> </tt>
-<a name="L1069"></a><tt class="py-lineno">1069</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1253" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1287', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">_pytype</tt><tt class="py-op">=</tt><tt class="py-name">pytype</tt><tt class="py-op">)</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1288" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1253', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _pytype='%s') returns %s, expected %s"</tt> </tt>
-<a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1254" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1288', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"> <tt class="py-string">"DataElement(%s, _pytype='%s') returns %s, expected %s"</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-1289" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1254', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1255" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1255', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1256" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1289', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1290" class="py-name"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-1290', 'type', 'link-506');">type</a></tt><tt class="py-op">(</tt><tt id="link-1291" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1256', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1072"></a><tt class="py-lineno">1072</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1257" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1291', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">objclass</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1292" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1257', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1258" class="py-name"><a title="lxml.etree.QName.text
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1292', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1293" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1258', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1259" class="py-name"><a title="lxml.html.CheckboxGroup.value
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1293', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1294" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1259', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1260" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1294', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1295" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1260', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_type_unregistered"></a><div id="ObjectifyTestCase.test_type_unregistered-def"><a name="L1075"></a><tt class="py-lineno">1075</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_unregistered-toggle" onclick="return toggle('ObjectifyTestCase.test_type_unregistered');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_unregistered">test_type_unregistered</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_type_unregistered-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_unregistered-expanded"><a name="L1076"></a><tt class="py-lineno">1076</tt> <tt class="py-line"> <tt id="link-1261" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1295', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_type_unregistered"></a><div id="ObjectifyTestCase.test_type_unregistered-def"><a name="L1119"></a><tt class="py-lineno">1119</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_unregistered-toggle" onclick="return toggle('ObjectifyTestCase.test_type_unregistered');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_unregistered">test_type_unregistered</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_unregistered-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_unregistered-expanded"><a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"> <tt id="link-1296" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1261', 'Element', 'link-79');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1262" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1296', 'Element', 'link-79');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1297" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1262', 'Element', 'link-79');">Element</a></tt> </tt>
-<a name="L1077"></a><tt class="py-lineno">1077</tt> <tt class="py-line"> <tt id="link-1263" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1263', 'SubElement', 'link-545');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1264" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1297', 'Element', 'link-79');">Element</a></tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"> <tt id="link-1298" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1298', 'SubElement', 'link-545');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1299" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1264', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1265" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1265', 'SubElement', 'link-545');">SubElement</a></tt> </tt>
-<a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyFloat</tt><tt class="py-op">(</tt><tt class="py-base-class">float</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"> <tt id="link-1266" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1266', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1267" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1299', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1300" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1300', 'SubElement', 'link-545');">SubElement</a></tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyFloat</tt><tt class="py-op">(</tt><tt class="py-base-class">float</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"> <tt id="link-1301" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1301', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1302" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1267', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}root"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1081"></a><tt class="py-lineno">1081</tt> <tt class="py-line"> <tt id="link-1268" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1268', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">myfloat</tt> <tt class="py-op">=</tt> <tt class="py-name">MyFloat</tt><tt class="py-op">(</tt><tt class="py-number">5.5</tt><tt class="py-op">)</tt> </tt>
-<a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1269" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1269', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">myfloat</tt><tt class="py-op">,</tt> <tt id="link-1270" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1270', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1271" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1271', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1083"></a><tt class="py-lineno">1083</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1272" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1272', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">myfloat</tt><tt class="py-op">.</tt><tt id="link-1273" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1302', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"> <tt id="link-1303" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1303', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">myfloat</tt> <tt class="py-op">=</tt> <tt class="py-name">MyFloat</tt><tt class="py-op">(</tt><tt class="py-number">5.5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1304" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1304', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">myfloat</tt><tt class="py-op">,</tt> <tt id="link-1305" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1305', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1306" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1306', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1307" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1307', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">myfloat</tt><tt class="py-op">.</tt><tt id="link-1308" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1273', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1274" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1274', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1275" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1275', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_data_element_unregistered"></a><div id="ObjectifyTestCase.test_data_element_unregistered-def"><a name="L1085"></a><tt class="py-lineno">1085</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_unregistered-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_unregistered');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_unregistered">test_data_element_unregistered</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_data_element_unregistered-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_unregistered-expanded"><a name="L1086"></a><tt class="py-lineno">1086</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyFloat</tt><tt class="py-op">(</tt><tt class="py-base-class">float</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1087"></a><tt class="py-lineno">1087</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L1088"></a><tt class="py-lineno">1088</tt> <tt class="py-line"> <tt id="link-1276" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1308', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1309" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1309', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1310" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1310', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_data_element_unregistered"></a><div id="ObjectifyTestCase.test_data_element_unregistered-def"><a name="L1129"></a><tt class="py-lineno">1129</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_data_element_unregistered-toggle" onclick="return toggle('ObjectifyTestCase.test_data_element_unregistered');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_unregistered">test_data_element_unregistered</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_data_element_unregistered-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_data_element_unregistered-expanded"><a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyFloat</tt><tt class="py-op">(</tt><tt class="py-base-class">float</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"> <tt id="link-1311" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1276', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1277" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1277', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1278" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1278', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">MyFloat</tt><tt class="py-op">(</tt><tt class="py-number">5.5</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1279" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1311', 'value', 'link-196');">value</a></tt> <tt class="py-op">=</tt> <tt id="link-1312" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1312', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1313" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1313', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">MyFloat</tt><tt class="py-op">(</tt><tt class="py-number">5.5</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1314" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1279', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt id="link-1280" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1280', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1281" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1281', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1282" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1314', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt id="link-1315" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1315', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1316" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1316', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1317" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1282', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-number">5.5</tt><tt class="py-op">)</tt> </tt>
-<a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1283" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1317', 'value', 'link-196');">value</a></tt><tt class="py-op">,</tt> <tt class="py-number">5.5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1318" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1283', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1284" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1318', 'value', 'link-196');">value</a></tt><tt class="py-op">.</tt><tt id="link-1319" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1284', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1285" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1285', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1286" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1286', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_schema_types"></a><div id="ObjectifyTestCase.test_schema_types-def"><a name="L1093"></a><tt class="py-lineno">1093</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_schema_types-toggle" onclick="return toggle('ObjectifyTestCase.test_schema_types');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types">test_schema_types</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_schema_types-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_schema_types-expanded"><a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"> <tt id="link-1287" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1287', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1288" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1288', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"> <tt id="link-1289" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1289', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1290" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1290', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1096"></a><tt class="py-lineno">1096</tt> <tt class="py-line"><tt class="py-string"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></tt> </tt>
-<a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="boolean">true</b></tt> </tt>
-<a name="L1098"></a><tt class="py-lineno">1098</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="boolean">false</b></tt> </tt>
-<a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="boolean">1</b></tt> </tt>
-<a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="boolean">0</b></tt> </tt>
-<a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="float">5</f></tt> </tt>
-<a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="double">5</f></tt> </tt>
-<a name="L1104"></a><tt class="py-lineno">1104</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
-<a name="L1105"></a><tt class="py-lineno">1105</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">5</s></tt> </tt>
-<a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="normalizedString">5</s></tt> </tt>
-<a name="L1107"></a><tt class="py-lineno">1107</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="token">5</s></tt> </tt>
-<a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="language">5</s></tt> </tt>
-<a name="L1109"></a><tt class="py-lineno">1109</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="Name">5</s></tt> </tt>
-<a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="NCName">5</s></tt> </tt>
-<a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="ID">5</s></tt> </tt>
-<a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="IDREF">5</s></tt> </tt>
-<a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="ENTITY">5</s></tt> </tt>
-<a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="NMTOKEN">5</s></tt> </tt>
-<a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L1116"></a><tt class="py-lineno">1116</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="integer">5</l></tt> </tt>
-<a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="nonPositiveInteger">5</l></tt> </tt>
-<a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="negativeInteger">5</l></tt> </tt>
-<a name="L1119"></a><tt class="py-lineno">1119</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="long">5</l></tt> </tt>
-<a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="nonNegativeInteger">5</l></tt> </tt>
-<a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="unsignedLong">5</l></tt> </tt>
-<a name="L1122"></a><tt class="py-lineno">1122</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="unsignedInt">5</l></tt> </tt>
-<a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="positiveInteger">5</l></tt> </tt>
-<a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
-<a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="int">5</i></tt> </tt>
-<a name="L1126"></a><tt class="py-lineno">1126</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="short">5</i></tt> </tt>
-<a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="byte">5</i></tt> </tt>
-<a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="unsignedShort">5</i></tt> </tt>
-<a name="L1129"></a><tt class="py-lineno">1129</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="unsignedByte">5</i></tt> </tt>
-<a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true"/></tt> </tt>
-<a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"><tt class="py-string"> </root></tt> </tt>
-<a name="L1133"></a><tt class="py-lineno">1133</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"> </tt>
-<a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-1291" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1291', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">:</tt> </tt>
-<a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-1292" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1292', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1293" class="py-name"><a title="lxml.objectify.BoolElement" class="py-name" href="#" onclick="return doclink('link-1293', 'BoolElement', 'link-39');">BoolElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1137"></a><tt class="py-lineno">1137</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-1294" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1294', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1295" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1295', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-1296" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1296', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1297" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1297', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"> </tt>
-<a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt id="link-1298" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1298', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
-<a name="L1143"></a><tt class="py-lineno">1143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-1299" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1299', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1300" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1300', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1144"></a><tt class="py-lineno">1144</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"> </tt>
-<a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-1301" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1301', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
-<a name="L1147"></a><tt class="py-lineno">1147</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt id="link-1302" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1302', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1303" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-1303', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"5"</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"> </tt>
-<a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-1304" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1304', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
-<a name="L1151"></a><tt class="py-lineno">1151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt id="link-1305" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1305', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1306" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-1306', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1152"></a><tt class="py-lineno">1152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"> </tt>
-<a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt id="link-1307" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1307', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
-<a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">,</tt> <tt id="link-1308" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1308', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1309" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-1309', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L1157"></a><tt class="py-lineno">1157</tt> <tt class="py-line"> </tt>
-<a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1310" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1310', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt id="link-1311" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1311', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1312" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-1312', 'NoneElement', 'link-353');">NoneElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1313" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1313', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1160"></a><tt class="py-lineno">1160</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_schema_types_prefixed"></a><div id="ObjectifyTestCase.test_schema_types_prefixed-def"><a name="L1161"></a><tt class="py-lineno">1161</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_schema_types_prefixed-toggle" onclick="return toggle('ObjectifyTestCase.test_schema_types_prefixed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types_prefixed">test_schema_types_prefixed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_schema_types_prefixed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_schema_types_prefixed-expanded"><a name="L1162"></a><tt class="py-lineno">1162</tt> <tt class="py-line"> <tt id="link-1314" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1314', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1315" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1315', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1163"></a><tt class="py-lineno">1163</tt> <tt class="py-line"> <tt id="link-1316" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1316', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1317" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1317', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1164"></a><tt class="py-lineno">1164</tt> <tt class="py-line"><tt class="py-string"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsd="http://www.w3.org/2001/XMLSchema"></tt> </tt>
-<a name="L1166"></a><tt class="py-lineno">1166</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:boolean">true</b></tt> </tt>
-<a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:boolean">false</b></tt> </tt>
-<a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:boolean">1</b></tt> </tt>
-<a name="L1169"></a><tt class="py-lineno">1169</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:boolean">0</b></tt> </tt>
-<a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="xsd:float">5</f></tt> </tt>
-<a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="xsd:double">5</f></tt> </tt>
-<a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
-<a name="L1174"></a><tt class="py-lineno">1174</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:string">5</s></tt> </tt>
-<a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:normalizedString">5</s></tt> </tt>
-<a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:token">5</s></tt> </tt>
-<a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:language">5</s></tt> </tt>
-<a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:Name">5</s></tt> </tt>
-<a name="L1179"></a><tt class="py-lineno">1179</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:NCName">5</s></tt> </tt>
-<a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:ID">5</s></tt> </tt>
-<a name="L1181"></a><tt class="py-lineno">1181</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:IDREF">5</s></tt> </tt>
-<a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:ENTITY">5</s></tt> </tt>
-<a name="L1183"></a><tt class="py-lineno">1183</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:NMTOKEN">5</s></tt> </tt>
-<a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L1185"></a><tt class="py-lineno">1185</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:integer">5</l></tt> </tt>
-<a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:nonPositiveInteger">5</l></tt> </tt>
-<a name="L1187"></a><tt class="py-lineno">1187</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:negativeInteger">5</l></tt> </tt>
-<a name="L1188"></a><tt class="py-lineno">1188</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:long">5</l></tt> </tt>
-<a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:nonNegativeInteger">5</l></tt> </tt>
-<a name="L1190"></a><tt class="py-lineno">1190</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:unsignedLong">5</l></tt> </tt>
-<a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:unsignedInt">5</l></tt> </tt>
-<a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:positiveInteger">5</l></tt> </tt>
-<a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
-<a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:int">5</i></tt> </tt>
-<a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:short">5</i></tt> </tt>
-<a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:byte">5</i></tt> </tt>
-<a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:unsignedShort">5</i></tt> </tt>
-<a name="L1198"></a><tt class="py-lineno">1198</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:unsignedByte">5</i></tt> </tt>
-<a name="L1199"></a><tt class="py-lineno">1199</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true"/></tt> </tt>
-<a name="L1201"></a><tt class="py-lineno">1201</tt> <tt class="py-line"><tt class="py-string"> </root></tt> </tt>
-<a name="L1202"></a><tt class="py-lineno">1202</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"> </tt>
-<a name="L1204"></a><tt class="py-lineno">1204</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-1318" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1318', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">:</tt> </tt>
-<a name="L1205"></a><tt class="py-lineno">1205</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-1319" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1319', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1320" class="py-name"><a title="lxml.objectify.BoolElement" class="py-name" href="#" onclick="return doclink('link-1320', 'BoolElement', 'link-39');">BoolElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1206"></a><tt class="py-lineno">1206</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-1321" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1321', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1322" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1322', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-1323" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1323', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1209"></a><tt class="py-lineno">1209</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1324" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1324', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"> </tt>
-<a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt id="link-1325" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1325', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
-<a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-1326" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1326', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1327" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1327', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L1214"></a><tt class="py-lineno">1214</tt> <tt class="py-line"> </tt>
-<a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-1328" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1328', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
-<a name="L1216"></a><tt class="py-lineno">1216</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt id="link-1329" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1329', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1330" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-1330', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1217"></a><tt class="py-lineno">1217</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"5"</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"> </tt>
-<a name="L1219"></a><tt class="py-lineno">1219</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-1331" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1331', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
-<a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt id="link-1332" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1332', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1333" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-1333', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1221"></a><tt class="py-lineno">1221</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L1222"></a><tt class="py-lineno">1222</tt> <tt class="py-line"> </tt>
-<a name="L1223"></a><tt class="py-lineno">1223</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt id="link-1334" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1334', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
-<a name="L1224"></a><tt class="py-lineno">1224</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">,</tt> <tt id="link-1335" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1335', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1336" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-1336', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">)</tt> </tt>
-<a name="L1226"></a><tt class="py-lineno">1226</tt> <tt class="py-line"> </tt>
-<a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1337" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1337', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt id="link-1338" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1338', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1339" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-1339', 'NoneElement', 'link-353');">NoneElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1340" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1340', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1229"></a><tt class="py-lineno">1229</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_type_str_sequence"></a><div id="ObjectifyTestCase.test_type_str_sequence-def"><a name="L1230"></a><tt class="py-lineno">1230</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_str_sequence-toggle" onclick="return toggle('ObjectifyTestCase.test_type_str_sequence');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_sequence">test_type_str_sequence</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_type_str_sequence-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_str_sequence-expanded"><a name="L1231"></a><tt class="py-lineno">1231</tt> <tt class="py-line"> <tt id="link-1341" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1341', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1342" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1342', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1232"></a><tt class="py-lineno">1232</tt> <tt class="py-line"> <tt id="link-1343" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1343', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1344" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1344', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1345" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1345', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<root><b>why</b><b>try</b></root>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"> <tt class="py-name">strs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt id="link-1346" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-1346', 'str', 'link-461');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-1347" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1347', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1234"></a><tt class="py-lineno">1234</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"why"</tt><tt class="py-op">,</tt> <tt class="py-string">"try"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"> <tt class="py-name">strs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1236"></a><tt class="py-lineno">1236</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_type_str_cmp"></a><div id="ObjectifyTestCase.test_type_str_cmp-def"><a name="L1237"></a><tt class="py-lineno">1237</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_str_cmp-toggle" onclick="return toggle('ObjectifyTestCase.test_type_str_cmp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_cmp">test_type_str_cmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_type_str_cmp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_str_cmp-expanded"><a name="L1238"></a><tt class="py-lineno">1238</tt> <tt class="py-line"> <tt id="link-1348" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1348', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1349" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1349', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1239"></a><tt class="py-lineno">1239</tt> <tt class="py-line"> <tt id="link-1350" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1350', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1351" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1351', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1352" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1352', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<root><b>test</b><b>taste</b><b></b><b/></root>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1240"></a><tt class="py-lineno">1240</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1353" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1353', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1354" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1354', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt id="link-1355" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1355', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1241"></a><tt class="py-lineno">1241</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1356" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1356', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1357" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1357', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><=</tt> <tt id="link-1358" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1358', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1242"></a><tt class="py-lineno">1242</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1359" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1359', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1360" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1360', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-1361" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1361', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1243"></a><tt class="py-lineno">1243</tt> <tt class="py-line"> </tt>
-<a name="L1244"></a><tt class="py-lineno">1244</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1362" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1362', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-1363" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1363', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1245"></a><tt class="py-lineno">1245</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1364" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1364', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">>=</tt> <tt id="link-1365" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1365', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1246"></a><tt class="py-lineno">1246</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1366" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1366', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt id="link-1367" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1367', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1319', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1320" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1320', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1321" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1321', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_schema_types"></a><div id="ObjectifyTestCase.test_schema_types-def"><a name="L1137"></a><tt class="py-lineno">1137</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_schema_types-toggle" onclick="return toggle('ObjectifyTestCase.test_schema_types');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types">test_schema_types</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_schema_types-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_schema_types-expanded"><a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"> <tt id="link-1322" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1322', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1323" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1323', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"> <tt id="link-1324" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1324', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1325" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1325', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"><tt class="py-string"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="boolean">true</b></tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="boolean">false</b></tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="boolean">1</b></tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="boolean">0</b></tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="float">5</f></tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="double">5</f></tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">5</s></tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="normalizedString">5</s></tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="token">5</s></tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="language">5</s></tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="Name">5</s></tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="NCName">5</s></tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="ID">5</s></tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="IDREF">5</s></tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="ENTITY">5</s></tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="NMTOKEN">5</s></tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="integer">5</l></tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="nonPositiveInteger">5</l></tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="negativeInteger">5</l></tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="long">5</l></tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="nonNegativeInteger">5</l></tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="unsignedLong">5</l></tt> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="unsignedInt">5</l></tt> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="positiveInteger">5</l></tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="int">5</i></tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="short">5</i></tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="byte">5</i></tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="unsignedShort">5</i></tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="unsignedByte">5</i></tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true"/></tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"><tt class="py-string"> </root></tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-1326" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1326', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">:</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-1327" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1327', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1328" class="py-name"><a title="lxml.objectify.BoolElement" class="py-name" href="#" onclick="return doclink('link-1328', 'BoolElement', 'link-39');">BoolElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-1329" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1329', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1330" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1330', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-1331" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1331', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1332" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1332', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt> <tt class="py-line"> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt id="link-1333" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1333', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-1334" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1334', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1335" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1335', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-1336" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1336', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt id="link-1337" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1337', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1338" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-1338', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"5"</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-1339" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1339', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt id="link-1340" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1340', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1341" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-1341', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt id="link-1342" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1342', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">,</tt> <tt id="link-1343" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1343', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1344" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-1344', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt> <tt class="py-line"> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1345" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1345', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt id="link-1346" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1346', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1347" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-1347', 'NoneElement', 'link-353');">NoneElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1348" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1348', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1204"></a><tt class="py-lineno">1204</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_schema_types_prefixed"></a><div id="ObjectifyTestCase.test_schema_types_prefixed-def"><a name="L1205"></a><tt class="py-lineno">1205</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_schema_types_prefixed-toggle" onclick="return toggle('ObjectifyTestCase.test_schema_types_prefixed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_schema_types_prefixed">test_schema_types_prefixed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_schema_types_prefixed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_schema_types_prefixed-expanded"><a name="L1206"></a><tt class="py-lineno">1206</tt> <tt class="py-line"> <tt id="link-1349" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1349', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1350" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1350', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"> <tt id="link-1351" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1351', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1352" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1352', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"><tt class="py-string"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsd="http://www.w3.org/2001/XMLSchema"></tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:boolean">true</b></tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:boolean">false</b></tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:boolean">1</b></tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:boolean">0</b></tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="xsd:float">5</f></tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="xsd:double">5</f></tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:string">5</s></tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:normalizedString">5</s></tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:token">5</s></tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:language">5</s></tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:Name">5</s></tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:NCName">5</s></tt> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:ID">5</s></tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:IDREF">5</s></tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:ENTITY">5</s></tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:NMTOKEN">5</s></tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:integer">5</l></tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:nonPositiveInteger">5</l></tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:negativeInteger">5</l></tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:long">5</l></tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:nonNegativeInteger">5</l></tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:unsignedLong">5</l></tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:unsignedInt">5</l></tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:positiveInteger">5</l></tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:int">5</i></tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:short">5</i></tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:byte">5</i></tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:unsignedShort">5</i></tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt> <tt class="py-line"><tt class="py-string"> <i xsi:type="xsd:unsignedByte">5</i></tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true"/></tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt> <tt class="py-line"><tt class="py-string"> </root></tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
<a name="L1247"></a><tt class="py-lineno">1247</tt> <tt class="py-line"> </tt>
-<a name="L1248"></a><tt class="py-lineno">1248</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1368" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1368', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1249"></a><tt class="py-lineno">1249</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">,</tt> <tt id="link-1369" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1369', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1250"></a><tt class="py-lineno">1250</tt> <tt class="py-line"> </tt>
-<a name="L1251"></a><tt class="py-lineno">1251</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-1370" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1370', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1252"></a><tt class="py-lineno">1252</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1371" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1371', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
-<a name="L1253"></a><tt class="py-lineno">1253</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-1372" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1372', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1254"></a><tt class="py-lineno">1254</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1373" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1373', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
-<a name="L1255"></a><tt class="py-lineno">1255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1374" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1374', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-1375" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1375', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1256"></a><tt class="py-lineno">1256</tt> <tt class="py-line"> </tt>
-<a name="L1257"></a><tt class="py-lineno">1257</tt> <tt class="py-line"> <tt id="link-1376" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1376', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-string">"test"</tt> </tt>
-<a name="L1258"></a><tt class="py-lineno">1258</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1377" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1377', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L1259"></a><tt class="py-lineno">1259</tt> <tt class="py-line"> <tt id="link-1378" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1378', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L1260"></a><tt class="py-lineno">1260</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1379" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1379', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1380" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1380', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L1261"></a><tt class="py-lineno">1261</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1381" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1381', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
-<a name="L1262"></a><tt class="py-lineno">1262</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-1382" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1382', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1263"></a><tt class="py-lineno">1263</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_type_int_cmp"></a><div id="ObjectifyTestCase.test_type_int_cmp-def"><a name="L1264"></a><tt class="py-lineno">1264</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_int_cmp-toggle" onclick="return toggle('ObjectifyTestCase.test_type_int_cmp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_int_cmp">test_type_int_cmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_type_int_cmp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_int_cmp-expanded"><a name="L1265"></a><tt class="py-lineno">1265</tt> <tt class="py-line"> <tt id="link-1383" class="py-name"><a title="lxml.etree.XML
+<a name="L1248"></a><tt class="py-lineno">1248</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-1353" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1353', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">:</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-1354" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1354', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1355" class="py-name"><a title="lxml.objectify.BoolElement" class="py-name" href="#" onclick="return doclink('link-1355', 'BoolElement', 'link-39');">BoolElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-1356" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1356', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1357" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1357', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-1358" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1358', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1359" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1359', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt> <tt class="py-line"> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt id="link-1360" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1360', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-1361" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1361', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1362" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-1362', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt> <tt class="py-line"> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-1363" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1363', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt id="link-1364" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1364', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1365" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-1365', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"5"</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt> <tt class="py-line"> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-1366" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1366', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt id="link-1367" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1367', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1368" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-1368', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt> <tt class="py-line"> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt id="link-1369" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1369', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">,</tt> <tt id="link-1370" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1370', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1371" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-1371', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">)</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt> <tt class="py-line"> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-1372" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1372', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt id="link-1373" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1373', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1374" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-1374', 'NoneElement', 'link-353');">NoneElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1375" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1375', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1273"></a><tt class="py-lineno">1273</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_type_str_sequence"></a><div id="ObjectifyTestCase.test_type_str_sequence-def"><a name="L1274"></a><tt class="py-lineno">1274</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_str_sequence-toggle" onclick="return toggle('ObjectifyTestCase.test_type_str_sequence');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_sequence">test_type_str_sequence</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_str_sequence-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_str_sequence-expanded"><a name="L1275"></a><tt class="py-lineno">1275</tt> <tt class="py-line"> <tt id="link-1376" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1376', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1377" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1377', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt> <tt class="py-line"> <tt id="link-1378" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1378', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1379" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1379', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1380" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1380', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<root><b>why</b><b>try</b></root>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt> <tt class="py-line"> <tt class="py-name">strs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt id="link-1381" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-1381', 'str', 'link-461');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-1382" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1382', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"why"</tt><tt class="py-op">,</tt> <tt class="py-string">"try"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt> <tt class="py-line"> <tt class="py-name">strs</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1280"></a><tt class="py-lineno">1280</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_type_str_cmp"></a><div id="ObjectifyTestCase.test_type_str_cmp-def"><a name="L1281"></a><tt class="py-lineno">1281</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_str_cmp-toggle" onclick="return toggle('ObjectifyTestCase.test_type_str_cmp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_str_cmp">test_type_str_cmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_str_cmp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_str_cmp-expanded"><a name="L1282"></a><tt class="py-lineno">1282</tt> <tt class="py-line"> <tt id="link-1383" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1383', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1384" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1384', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1266"></a><tt class="py-lineno">1266</tt> <tt class="py-line"> <tt id="link-1385" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1385', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1386" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1386', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1387" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1387', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<root><b>5</b><b>6</b></root>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1267"></a><tt class="py-lineno">1267</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1388" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1388', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt id="link-1389" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1389', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1268"></a><tt class="py-lineno">1268</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1390" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1390', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><=</tt> <tt id="link-1391" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1391', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1269"></a><tt class="py-lineno">1269</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1392" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1392', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-1393" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1393', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1270"></a><tt class="py-lineno">1270</tt> <tt class="py-line"> </tt>
-<a name="L1271"></a><tt class="py-lineno">1271</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1394" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1394', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1395" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1395', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-1396" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1396', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1272"></a><tt class="py-lineno">1272</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1397" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1397', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1398" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1398', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">>=</tt> <tt id="link-1399" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1399', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1273"></a><tt class="py-lineno">1273</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1400" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1400', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1401" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1401', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt id="link-1402" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1402', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1274"></a><tt class="py-lineno">1274</tt> <tt class="py-line"> </tt>
-<a name="L1275"></a><tt class="py-lineno">1275</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1403" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1403', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-<a name="L1276"></a><tt class="py-lineno">1276</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt id="link-1404" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1404', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1277"></a><tt class="py-lineno">1277</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt id="link-1405" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1405', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"5"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1278"></a><tt class="py-lineno">1278</tt> <tt class="py-line"> </tt>
-<a name="L1279"></a><tt class="py-lineno">1279</tt> <tt class="py-line"> <tt id="link-1406" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1406', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> </tt>
-<a name="L1280"></a><tt class="py-lineno">1280</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1407" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1407', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L1281"></a><tt class="py-lineno">1281</tt> <tt class="py-line"> <tt id="link-1408" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1408', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L1282"></a><tt class="py-lineno">1282</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1409" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1409', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1410" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1410', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1283"></a><tt class="py-lineno">1283</tt> <tt class="py-line"> </tt>
-<a name="L1284"></a><tt class="py-lineno">1284</tt> <tt class="py-line"> <tt class="py-comment"># float + long share the NumberElement implementation with int</tt> </tt>
-<a name="L1285"></a><tt class="py-lineno">1285</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_type_bool_cmp"></a><div id="ObjectifyTestCase.test_type_bool_cmp-def"><a name="L1286"></a><tt class="py-lineno">1286</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_bool_cmp-toggle" onclick="return toggle('ObjectifyTestCase.test_type_bool_cmp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_bool_cmp">test_type_bool_cmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_type_bool_cmp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_bool_cmp-expanded"><a name="L1287"></a><tt class="py-lineno">1287</tt> <tt class="py-line"> <tt id="link-1411" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1411', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1412" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1412', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1288"></a><tt class="py-lineno">1288</tt> <tt class="py-line"> <tt id="link-1413" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1413', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1414" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1414', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1415" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1415', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<root><b>false</b><b>true</b></root>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1289"></a><tt class="py-lineno">1289</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1416" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1416', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt id="link-1417" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1417', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1290"></a><tt class="py-lineno">1290</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1418" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1418', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><=</tt> <tt id="link-1419" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1419', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1291"></a><tt class="py-lineno">1291</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1420" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1420', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-1421" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1421', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1292"></a><tt class="py-lineno">1292</tt> <tt class="py-line"> </tt>
-<a name="L1293"></a><tt class="py-lineno">1293</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1422" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1422', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1423" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1423', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-1424" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1424', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1294"></a><tt class="py-lineno">1294</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1425" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1425', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1426" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1426', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">>=</tt> <tt id="link-1427" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1427', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1295"></a><tt class="py-lineno">1295</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1428" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1428', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1429" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1429', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt id="link-1430" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1430', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1296"></a><tt class="py-lineno">1296</tt> <tt class="py-line"> </tt>
-<a name="L1297"></a><tt class="py-lineno">1297</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1431" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1431', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1432" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1432', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1298"></a><tt class="py-lineno">1298</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1433" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1433', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1299"></a><tt class="py-lineno">1299</tt> <tt class="py-line"> </tt>
-<a name="L1300"></a><tt class="py-lineno">1300</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1434" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1434', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1301"></a><tt class="py-lineno">1301</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1435" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1435', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1302"></a><tt class="py-lineno">1302</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1436" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1436', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-<a name="L1303"></a><tt class="py-lineno">1303</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-number">5</tt> <tt class="py-op">></tt> <tt id="link-1437" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1437', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1304"></a><tt class="py-lineno">1304</tt> <tt class="py-line"> </tt>
-<a name="L1305"></a><tt class="py-lineno">1305</tt> <tt class="py-line"> <tt id="link-1438" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1438', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L1306"></a><tt class="py-lineno">1306</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1439" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1439', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L1307"></a><tt class="py-lineno">1307</tt> <tt class="py-line"> <tt id="link-1440" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1440', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L1308"></a><tt class="py-lineno">1308</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1441" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1441', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1442" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1442', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1309"></a><tt class="py-lineno">1309</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_type_none_cmp"></a><div id="ObjectifyTestCase.test_type_none_cmp-def"><a name="L1310"></a><tt class="py-lineno">1310</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_none_cmp-toggle" onclick="return toggle('ObjectifyTestCase.test_type_none_cmp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_none_cmp">test_type_none_cmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_type_none_cmp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_none_cmp-expanded"><a name="L1311"></a><tt class="py-lineno">1311</tt> <tt class="py-line"> <tt id="link-1443" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1443', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1444" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1444', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1312"></a><tt class="py-lineno">1312</tt> <tt class="py-line"> <tt id="link-1445" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1445', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1446" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1446', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1447" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1447', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L1313"></a><tt class="py-lineno">1313</tt> <tt class="py-line"><tt class="py-string"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></tt> </tt>
-<a name="L1314"></a><tt class="py-lineno">1314</tt> <tt class="py-line"><tt class="py-string"> <b xsi:nil="true"></b><b xsi:nil="true"/></tt> </tt>
-<a name="L1315"></a><tt class="py-lineno">1315</tt> <tt class="py-line"><tt class="py-string"> </root>"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1316"></a><tt class="py-lineno">1316</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1448" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1448', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-1449" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1449', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1317"></a><tt class="py-lineno">1317</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1450" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1450', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1451" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1451', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1318"></a><tt class="py-lineno">1318</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1452" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1452', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1319"></a><tt class="py-lineno">1319</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1453" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1453', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1320"></a><tt class="py-lineno">1320</tt> <tt class="py-line"> </tt>
-<a name="L1321"></a><tt class="py-lineno">1321</tt> <tt class="py-line"> <tt class="py-comment"># doesn't work in Py3:</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt> <tt class="py-line"> <tt id="link-1385" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1385', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1386" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1386', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1387" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1387', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<root><b>test</b><b>taste</b><b></b><b/></root>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1388" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1388', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1389" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1389', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt id="link-1390" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1390', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1391" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1391', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1392" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1392', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><=</tt> <tt id="link-1393" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1393', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1394" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1394', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1395" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1395', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-1396" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1396', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt> <tt class="py-line"> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1397" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1397', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-1398" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1398', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1399" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1399', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">>=</tt> <tt id="link-1400" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1400', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1401" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1401', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt id="link-1402" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1402', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt> <tt class="py-line"> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1403" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1403', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">,</tt> <tt id="link-1404" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1404', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt> <tt class="py-line"> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-1405" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1405', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1406" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1406', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-1407" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1407', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1408" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1408', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1409" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1409', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-1410" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1410', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt> <tt class="py-line"> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt> <tt class="py-line"> <tt id="link-1411" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1411', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-string">"test"</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1412" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1412', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt> <tt class="py-line"> <tt id="link-1413" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1413', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1414" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1414', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1415" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1415', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1416" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1416', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-1417" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1417', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1307"></a><tt class="py-lineno">1307</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_type_int_cmp"></a><div id="ObjectifyTestCase.test_type_int_cmp-def"><a name="L1308"></a><tt class="py-lineno">1308</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_int_cmp-toggle" onclick="return toggle('ObjectifyTestCase.test_type_int_cmp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_int_cmp">test_type_int_cmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_int_cmp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_int_cmp-expanded"><a name="L1309"></a><tt class="py-lineno">1309</tt> <tt class="py-line"> <tt id="link-1418" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1418', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1419" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1419', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt> <tt class="py-line"> <tt id="link-1420" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1420', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1421" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1421', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1422" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1422', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<root><b>5</b><b>6</b></root>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1423" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1423', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt id="link-1424" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1424', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1425" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1425', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><=</tt> <tt id="link-1426" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1426', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1427" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1427', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-1428" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1428', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt> <tt class="py-line"> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1429" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1429', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1430" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1430', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-1431" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1431', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1432" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1432', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1433" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1433', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">>=</tt> <tt id="link-1434" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1434', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1435" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1435', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1436" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1436', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt id="link-1437" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1437', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt> <tt class="py-line"> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1438" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1438', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt id="link-1439" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1439', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt id="link-1440" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1440', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"5"</tt><tt class="py-op">)</tt> </tt>
<a name="L1322"></a><tt class="py-lineno">1322</tt> <tt class="py-line"> </tt>
-<a name="L1323"></a><tt class="py-lineno">1323</tt> <tt class="py-line"> <tt class="py-comment">#for comparison in ["abc", 5, 7.3, True, [], ()]:</tt> </tt>
-<a name="L1324"></a><tt class="py-lineno">1324</tt> <tt class="py-line"> <tt class="py-comment"># none = root.b[1]</tt> </tt>
-<a name="L1325"></a><tt class="py-lineno">1325</tt> <tt class="py-line"> <tt class="py-comment"># self.assertTrue(none < comparison, "%s (%s) should be < %s" %</tt> </tt>
-<a name="L1326"></a><tt class="py-lineno">1326</tt> <tt class="py-line"> <tt class="py-comment"># (none, type(none), comparison) )</tt> </tt>
-<a name="L1327"></a><tt class="py-lineno">1327</tt> <tt class="py-line"> <tt class="py-comment"># self.assertTrue(comparison > none, "%s should be > %s (%s)" %</tt> </tt>
-<a name="L1328"></a><tt class="py-lineno">1328</tt> <tt class="py-line"> <tt class="py-comment"># (comparison, none, type(none)) )</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt> <tt class="py-line"> <tt id="link-1441" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1441', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1442" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1442', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt> <tt class="py-line"> <tt id="link-1443" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1443', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1444" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1444', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1445" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1445', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1327"></a><tt class="py-lineno">1327</tt> <tt class="py-line"> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt> <tt class="py-line"> <tt class="py-comment"># float + long share the NumberElement implementation with int</tt> </tt>
<a name="L1329"></a><tt class="py-lineno">1329</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_dataelement_xsi"></a><div id="ObjectifyTestCase.test_dataelement_xsi-def"><a name="L1330"></a><tt class="py-lineno">1330</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_dataelement_xsi-toggle" onclick="return toggle('ObjectifyTestCase.test_dataelement_xsi');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi">test_dataelement_xsi</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_dataelement_xsi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_dataelement_xsi-expanded"><a name="L1331"></a><tt class="py-lineno">1331</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1454" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1454', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1455" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1455', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"string"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1332"></a><tt class="py-lineno">1332</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1333"></a><tt class="py-lineno">1333</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-1456" class="py-name"><a title="lxml.etree._Attrib.get
+<a name="ObjectifyTestCase.test_type_bool_cmp"></a><div id="ObjectifyTestCase.test_type_bool_cmp-def"><a name="L1330"></a><tt class="py-lineno">1330</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_bool_cmp-toggle" onclick="return toggle('ObjectifyTestCase.test_type_bool_cmp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_bool_cmp">test_type_bool_cmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_bool_cmp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_bool_cmp-expanded"><a name="L1331"></a><tt class="py-lineno">1331</tt> <tt class="py-line"> <tt id="link-1446" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1446', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1447" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1447', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt> <tt class="py-line"> <tt id="link-1448" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1448', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1449" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1449', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1450" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1450', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<root><b>false</b><b>true</b></root>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1451" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1451', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt id="link-1452" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1452', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1453" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1453', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><=</tt> <tt id="link-1454" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1454', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1455" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1455', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-1456" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1456', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt> <tt class="py-line"> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1457" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1457', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1458" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1458', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-1459" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1459', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1460" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1460', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1461" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1461', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">>=</tt> <tt id="link-1462" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1462', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1463" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1463', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1464" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1464', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt id="link-1465" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1465', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt> <tt class="py-line"> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1466" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1466', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1467" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1467', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1468" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1468', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt> <tt class="py-line"> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1469" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1469', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-1470" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1470', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1471" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1471', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-number">5</tt> <tt class="py-op">></tt> <tt id="link-1472" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1472', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt> <tt class="py-line"> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt> <tt class="py-line"> <tt id="link-1473" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1473', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1474" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1474', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt> <tt class="py-line"> <tt id="link-1475" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1475', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1476" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1476', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1477" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1477', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_type_none_cmp"></a><div id="ObjectifyTestCase.test_type_none_cmp-def"><a name="L1354"></a><tt class="py-lineno">1354</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_type_none_cmp-toggle" onclick="return toggle('ObjectifyTestCase.test_type_none_cmp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_type_none_cmp">test_type_none_cmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_type_none_cmp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_type_none_cmp-expanded"><a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"> <tt id="link-1478" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1478', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1479" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1479', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"> <tt id="link-1480" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1480', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1481" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1481', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1482" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1482', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"><tt class="py-string"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt> <tt class="py-line"><tt class="py-string"> <b xsi:nil="true"></b><b xsi:nil="true"/></tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt> <tt class="py-line"><tt class="py-string"> </root>"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1483" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1483', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-1484" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1484', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1485" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1485', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1486" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1486', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1487" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1487', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1488" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1488', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1364"></a><tt class="py-lineno">1364</tt> <tt class="py-line"> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt> <tt class="py-line"> <tt class="py-comment"># doesn't work in Py3:</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt> <tt class="py-line"> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt> <tt class="py-line"> <tt class="py-comment">#for comparison in ["abc", 5, 7.3, True, [], ()]:</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt> <tt class="py-line"> <tt class="py-comment"># none = root.b[1]</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt> <tt class="py-line"> <tt class="py-comment"># self.assertTrue(none < comparison, "%s (%s) should be < %s" %</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt> <tt class="py-line"> <tt class="py-comment"># (none, type(none), comparison) )</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt> <tt class="py-line"> <tt class="py-comment"># self.assertTrue(comparison > none, "%s should be > %s (%s)" %</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"> <tt class="py-comment"># (comparison, none, type(none)) )</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_dataelement_xsi"></a><div id="ObjectifyTestCase.test_dataelement_xsi-def"><a name="L1374"></a><tt class="py-lineno">1374</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_dataelement_xsi-toggle" onclick="return toggle('ObjectifyTestCase.test_dataelement_xsi');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi">test_dataelement_xsi</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_dataelement_xsi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_dataelement_xsi-expanded"><a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1489" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1489', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1490" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1490', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"string"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-1491" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1456', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1457" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1457', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1334"></a><tt class="py-lineno">1334</tt> <tt class="py-line"> <tt class="py-string">'xsd:string'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1335"></a><tt class="py-lineno">1335</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_dataelement_xsi_nsmap"></a><div id="ObjectifyTestCase.test_dataelement_xsi_nsmap-def"><a name="L1336"></a><tt class="py-lineno">1336</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_dataelement_xsi_nsmap-toggle" onclick="return toggle('ObjectifyTestCase.test_dataelement_xsi_nsmap');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_nsmap">test_dataelement_xsi_nsmap</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_dataelement_xsi_nsmap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_dataelement_xsi_nsmap-expanded"><a name="L1337"></a><tt class="py-lineno">1337</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1458" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1458', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1459" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1459', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"string"</tt><tt class="py-op">,</tt> </tt>
-<a name="L1338"></a><tt class="py-lineno">1338</tt> <tt class="py-line"> <tt id="link-1460" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-1460', 'nsmap', 'link-105');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'schema'</tt><tt class="py-op">:</tt> <tt id="link-1461" class="py-name"><a title="lxml.isoschematron.XML_SCHEMA_NS
-lxml.tests.test_objectify.XML_SCHEMA_NS" class="py-name" href="#" onclick="return doclink('link-1461', 'XML_SCHEMA_NS', 'link-22');">XML_SCHEMA_NS</a></tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1339"></a><tt class="py-lineno">1339</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1340"></a><tt class="py-lineno">1340</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-1462" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1491', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1492" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1492', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt> <tt class="py-line"> <tt class="py-string">'xsd:string'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1379"></a><tt class="py-lineno">1379</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_dataelement_xsi_nsmap"></a><div id="ObjectifyTestCase.test_dataelement_xsi_nsmap-def"><a name="L1380"></a><tt class="py-lineno">1380</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_dataelement_xsi_nsmap-toggle" onclick="return toggle('ObjectifyTestCase.test_dataelement_xsi_nsmap');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_nsmap">test_dataelement_xsi_nsmap</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_dataelement_xsi_nsmap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_dataelement_xsi_nsmap-expanded"><a name="L1381"></a><tt class="py-lineno">1381</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1493" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1493', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1494" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1494', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"string"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt> <tt class="py-line"> <tt id="link-1495" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-1495', 'nsmap', 'link-105');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'schema'</tt><tt class="py-op">:</tt> <tt id="link-1496" class="py-name"><a title="lxml.isoschematron.XML_SCHEMA_NS
+lxml.tests.test_objectify.XML_SCHEMA_NS" class="py-name" href="#" onclick="return doclink('link-1496', 'XML_SCHEMA_NS', 'link-22');">XML_SCHEMA_NS</a></tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-1497" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1462', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1463" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1463', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1341"></a><tt class="py-lineno">1341</tt> <tt class="py-line"> <tt class="py-string">'schema:string'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1342"></a><tt class="py-lineno">1342</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_dataelement_xsi_prefix_error"></a><div id="ObjectifyTestCase.test_dataelement_xsi_prefix_error-def"><a name="L1343"></a><tt class="py-lineno">1343</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_dataelement_xsi_prefix_error-toggle" onclick="return toggle('ObjectifyTestCase.test_dataelement_xsi_prefix_error');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_prefix_error">test_dataelement_xsi_prefix_error</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_dataelement_xsi_prefix_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_dataelement_xsi_prefix_error-expanded"><a name="L1344"></a><tt class="py-lineno">1344</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1464" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1464', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1465" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1465', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L1345"></a><tt class="py-lineno">1345</tt> <tt class="py-line"> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"foo:string"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1346"></a><tt class="py-lineno">1346</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pytype_annotation"></a><div id="ObjectifyTestCase.test_pytype_annotation-def"><a name="L1347"></a><tt class="py-lineno">1347</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_annotation-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_annotation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation">test_pytype_annotation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pytype_annotation-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_annotation-expanded"><a name="L1348"></a><tt class="py-lineno">1348</tt> <tt class="py-line"> <tt id="link-1466" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1466', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1467" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1467', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1349"></a><tt class="py-lineno">1349</tt> <tt class="py-line"> <tt id="link-1468" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1468', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1469" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1469', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1470" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1470', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1350"></a><tt class="py-lineno">1350</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1351"></a><tt class="py-lineno">1351</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1354"></a><tt class="py-lineno">1354</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1358"></a><tt class="py-lineno">1358</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1359"></a><tt class="py-lineno">1359</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1360"></a><tt class="py-lineno">1360</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1361"></a><tt class="py-lineno">1361</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1362"></a><tt class="py-lineno">1362</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1363"></a><tt class="py-lineno">1363</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1364"></a><tt class="py-lineno">1364</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1365"></a><tt class="py-lineno">1365</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1366"></a><tt class="py-lineno">1366</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1367"></a><tt class="py-lineno">1367</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1368"></a><tt class="py-lineno">1368</tt> <tt class="py-line"> <tt id="link-1471" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1471', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1472" class="py-name" targets="Function lxml.objectify.annotate()=lxml.objectify-module.html#annotate"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1472', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1473" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1473', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1369"></a><tt class="py-lineno">1369</tt> <tt class="py-line"> </tt>
-<a name="L1370"></a><tt class="py-lineno">1370</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1474" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1497', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1498" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1498', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt> <tt class="py-line"> <tt class="py-string">'schema:string'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1386"></a><tt class="py-lineno">1386</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_dataelement_xsi_prefix_error"></a><div id="ObjectifyTestCase.test_dataelement_xsi_prefix_error-def"><a name="L1387"></a><tt class="py-lineno">1387</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_dataelement_xsi_prefix_error-toggle" onclick="return toggle('ObjectifyTestCase.test_dataelement_xsi_prefix_error');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_dataelement_xsi_prefix_error">test_dataelement_xsi_prefix_error</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_dataelement_xsi_prefix_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_dataelement_xsi_prefix_error-expanded"><a name="L1388"></a><tt class="py-lineno">1388</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1499" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1499', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1500" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1500', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt> <tt class="py-line"> <tt class="py-name">_xsi</tt><tt class="py-op">=</tt><tt class="py-string">"foo:string"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1390"></a><tt class="py-lineno">1390</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pytype_annotation"></a><div id="ObjectifyTestCase.test_pytype_annotation-def"><a name="L1391"></a><tt class="py-lineno">1391</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_annotation-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_annotation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation">test_pytype_annotation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pytype_annotation-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_annotation-expanded"><a name="L1392"></a><tt class="py-lineno">1392</tt> <tt class="py-line"> <tt id="link-1501" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1501', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1502" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1502', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt> <tt class="py-line"> <tt id="link-1503" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1503', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1504" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1504', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1505" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1505', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt> <tt class="py-line"> <tt id="link-1506" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1506', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1507" class="py-name" targets="Function lxml.objectify.annotate()=lxml.objectify-module.html#annotate"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1507', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1508" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1508', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt> <tt class="py-line"> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1509" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1474', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1475" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1475', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1476" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1476', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1371"></a><tt class="py-lineno">1371</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1477" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1477', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1478" class="py-name" targets="Method lxml.etree._Element.iterchildren()=lxml.etree._Element-class.html#iterchildren"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1478', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1373"></a><tt class="py-lineno">1373</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1374"></a><tt class="py-lineno">1374</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1376"></a><tt class="py-lineno">1376</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1377"></a><tt class="py-lineno">1377</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1378"></a><tt class="py-lineno">1378</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1379"></a><tt class="py-lineno">1379</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1380"></a><tt class="py-lineno">1380</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1381"></a><tt class="py-lineno">1381</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1382"></a><tt class="py-lineno">1382</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1383"></a><tt class="py-lineno">1383</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1384"></a><tt class="py-lineno">1384</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1385"></a><tt class="py-lineno">1385</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1386"></a><tt class="py-lineno">1386</tt> <tt class="py-line"> </tt>
-<a name="L1387"></a><tt class="py-lineno">1387</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1479" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1479', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1480" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1509', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1510" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1510', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1511" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1511', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1512" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1512', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1513" class="py-name" targets="Method lxml.etree._Element.iterchildren()=lxml.etree._Element-class.html#iterchildren"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1513', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt> <tt class="py-line"> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1514" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1514', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1515" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1480', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1481" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1481', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1388"></a><tt class="py-lineno">1388</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pytype_annotation_empty"></a><div id="ObjectifyTestCase.test_pytype_annotation_empty-def"><a name="L1389"></a><tt class="py-lineno">1389</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_annotation_empty-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_annotation_empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation_empty">test_pytype_annotation_empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pytype_annotation_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_annotation_empty-expanded"><a name="L1390"></a><tt class="py-lineno">1390</tt> <tt class="py-line"> <tt id="link-1482" class="py-name"><a title="lxml.etree.XML
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1515', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1516" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1516', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1432"></a><tt class="py-lineno">1432</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pytype_annotation_empty"></a><div id="ObjectifyTestCase.test_pytype_annotation_empty-def"><a name="L1433"></a><tt class="py-lineno">1433</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_annotation_empty-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_annotation_empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation_empty">test_pytype_annotation_empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pytype_annotation_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_annotation_empty-expanded"><a name="L1434"></a><tt class="py-lineno">1434</tt> <tt class="py-line"> <tt id="link-1517" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1482', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1483" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1517', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1518" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1483', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1391"></a><tt class="py-lineno">1391</tt> <tt class="py-line"> <tt id="link-1484" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1484', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1485" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1518', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt> <tt class="py-line"> <tt id="link-1519" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1519', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1520" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1485', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1486" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1486', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1392"></a><tt class="py-lineno">1392</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1393"></a><tt class="py-lineno">1393</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1394"></a><tt class="py-lineno">1394</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1395"></a><tt class="py-lineno">1395</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1396"></a><tt class="py-lineno">1396</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1397"></a><tt class="py-lineno">1397</tt> <tt class="py-line"> <tt id="link-1487" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1487', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1488" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1488', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1489" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1489', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1398"></a><tt class="py-lineno">1398</tt> <tt class="py-line"> </tt>
-<a name="L1399"></a><tt class="py-lineno">1399</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1490" class="py-name"><a title="lxml.etree._Attrib.get
-lxml.etree._Element.get
-lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1490', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1491" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1491', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1492" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1492', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1400"></a><tt class="py-lineno">1400</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1493" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1493', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1494" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1494', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1401"></a><tt class="py-lineno">1401</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1402"></a><tt class="py-lineno">1402</tt> <tt class="py-line"> </tt>
-<a name="L1403"></a><tt class="py-lineno">1403</tt> <tt class="py-line"> <tt id="link-1495" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1495', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1496" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1496', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1497" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1497', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">empty_pytype</tt><tt class="py-op">=</tt><tt class="py-string">"str"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1404"></a><tt class="py-lineno">1404</tt> <tt class="py-line"> </tt>
-<a name="L1405"></a><tt class="py-lineno">1405</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1498" class="py-name"><a title="lxml.etree._Attrib.get
-lxml.etree._Element.get
-lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1498', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1499" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1499', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1500" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1500', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1406"></a><tt class="py-lineno">1406</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1501" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1501', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1502" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1502', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1407"></a><tt class="py-lineno">1407</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1408"></a><tt class="py-lineno">1408</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pytype_annotation_use_old"></a><div id="ObjectifyTestCase.test_pytype_annotation_use_old-def"><a name="L1409"></a><tt class="py-lineno">1409</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_annotation_use_old-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_annotation_use_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation_use_old">test_pytype_annotation_use_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pytype_annotation_use_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_annotation_use_old-expanded"><a name="L1410"></a><tt class="py-lineno">1410</tt> <tt class="py-line"> <tt id="link-1503" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1503', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1504" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1504', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1411"></a><tt class="py-lineno">1411</tt> <tt class="py-line"> <tt id="link-1505" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1505', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1506" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1506', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1507" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1507', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1412"></a><tt class="py-lineno">1412</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1413"></a><tt class="py-lineno">1413</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1414"></a><tt class="py-lineno">1414</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1415"></a><tt class="py-lineno">1415</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1416"></a><tt class="py-lineno">1416</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1417"></a><tt class="py-lineno">1417</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1418"></a><tt class="py-lineno">1418</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1419"></a><tt class="py-lineno">1419</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1420"></a><tt class="py-lineno">1420</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1421"></a><tt class="py-lineno">1421</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1422"></a><tt class="py-lineno">1422</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1423"></a><tt class="py-lineno">1423</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1424"></a><tt class="py-lineno">1424</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1425"></a><tt class="py-lineno">1425</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1426"></a><tt class="py-lineno">1426</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1427"></a><tt class="py-lineno">1427</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1428"></a><tt class="py-lineno">1428</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1429"></a><tt class="py-lineno">1429</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1430"></a><tt class="py-lineno">1430</tt> <tt class="py-line"> <tt id="link-1508" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1508', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1509" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1509', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1510" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1510', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1431"></a><tt class="py-lineno">1431</tt> <tt class="py-line"> </tt>
-<a name="L1432"></a><tt class="py-lineno">1432</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1511" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1520', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1521" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1521', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt> <tt class="py-line"> <tt id="link-1522" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1522', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1523" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1523', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1524" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1524', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt> <tt class="py-line"> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1525" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1511', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1512" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1512', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1513" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1513', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1433"></a><tt class="py-lineno">1433</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1514" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1514', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1515" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1515', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1434"></a><tt class="py-lineno">1434</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1435"></a><tt class="py-lineno">1435</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1436"></a><tt class="py-lineno">1436</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1437"></a><tt class="py-lineno">1437</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1438"></a><tt class="py-lineno">1438</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1439"></a><tt class="py-lineno">1439</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1440"></a><tt class="py-lineno">1440</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1441"></a><tt class="py-lineno">1441</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1442"></a><tt class="py-lineno">1442</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1443"></a><tt class="py-lineno">1443</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1444"></a><tt class="py-lineno">1444</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1445"></a><tt class="py-lineno">1445</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1446"></a><tt class="py-lineno">1446</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1447"></a><tt class="py-lineno">1447</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1516" class="py-name"><a title="lxml.tests.test_objectify.TREE_PYTYPE" class="py-name" href="#" onclick="return doclink('link-1516', 'TREE_PYTYPE', 'link-28');">TREE_PYTYPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1448"></a><tt class="py-lineno">1448</tt> <tt class="py-line"> </tt>
-<a name="L1449"></a><tt class="py-lineno">1449</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1517" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1517', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1518" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1525', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1526" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1526', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1527" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1527', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1528" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1528', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1529" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1529', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt> <tt class="py-line"> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt> <tt class="py-line"> <tt id="link-1530" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1530', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1531" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1531', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1532" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1532', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">empty_pytype</tt><tt class="py-op">=</tt><tt class="py-string">"str"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt> <tt class="py-line"> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1533" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1518', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1519" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1519', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1450"></a><tt class="py-lineno">1450</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pytype_xsitype_annotation"></a><div id="ObjectifyTestCase.test_pytype_xsitype_annotation-def"><a name="L1451"></a><tt class="py-lineno">1451</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_xsitype_annotation-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_xsitype_annotation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_xsitype_annotation">test_pytype_xsitype_annotation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pytype_xsitype_annotation-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_xsitype_annotation-expanded"><a name="L1452"></a><tt class="py-lineno">1452</tt> <tt class="py-line"> <tt id="link-1520" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1520', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1521" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1521', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1453"></a><tt class="py-lineno">1453</tt> <tt class="py-line"> <tt id="link-1522" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1522', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1523" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1523', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1524" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1524', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1454"></a><tt class="py-lineno">1454</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1455"></a><tt class="py-lineno">1455</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1456"></a><tt class="py-lineno">1456</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1457"></a><tt class="py-lineno">1457</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1458"></a><tt class="py-lineno">1458</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1459"></a><tt class="py-lineno">1459</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1460"></a><tt class="py-lineno">1460</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1461"></a><tt class="py-lineno">1461</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1462"></a><tt class="py-lineno">1462</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1463"></a><tt class="py-lineno">1463</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1464"></a><tt class="py-lineno">1464</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1465"></a><tt class="py-lineno">1465</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1466"></a><tt class="py-lineno">1466</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1467"></a><tt class="py-lineno">1467</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1468"></a><tt class="py-lineno">1468</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1469"></a><tt class="py-lineno">1469</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1470"></a><tt class="py-lineno">1470</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1471"></a><tt class="py-lineno">1471</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1472"></a><tt class="py-lineno">1472</tt> <tt class="py-line"> <tt id="link-1525" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1525', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1526" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1526', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1527" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1527', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">ignore_xsi</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
-<a name="L1473"></a><tt class="py-lineno">1473</tt> <tt class="py-line"> <tt class="py-name">annotate_xsi</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">annotate_pytype</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1474"></a><tt class="py-lineno">1474</tt> <tt class="py-line"> </tt>
-<a name="L1475"></a><tt class="py-lineno">1475</tt> <tt class="py-line"> <tt class="py-comment"># check py annotations</tt> </tt>
-<a name="L1476"></a><tt class="py-lineno">1476</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1528" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1533', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1534" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1534', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1535" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1535', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1536" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1536', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1537" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1537', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1452"></a><tt class="py-lineno">1452</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pytype_annotation_use_old"></a><div id="ObjectifyTestCase.test_pytype_annotation_use_old-def"><a name="L1453"></a><tt class="py-lineno">1453</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_annotation_use_old-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_annotation_use_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_annotation_use_old">test_pytype_annotation_use_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pytype_annotation_use_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_annotation_use_old-expanded"><a name="L1454"></a><tt class="py-lineno">1454</tt> <tt class="py-line"> <tt id="link-1538" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1538', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1539" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1539', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt> <tt class="py-line"> <tt id="link-1540" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1540', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1541" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1541', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1542" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1542', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt> <tt class="py-line"> <tt id="link-1543" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1543', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1544" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1544', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1545" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1545', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt> <tt class="py-line"> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1546" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1528', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1529" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1529', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1530" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1530', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1477"></a><tt class="py-lineno">1477</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1531" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1531', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1532" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1532', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1546', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1547" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1547', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1548" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1548', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1549" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1549', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1550" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1550', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
<a name="L1478"></a><tt class="py-lineno">1478</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L1479"></a><tt class="py-lineno">1479</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L1480"></a><tt class="py-lineno">1480</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L1486"></a><tt class="py-lineno">1486</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L1487"></a><tt class="py-lineno">1487</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L1488"></a><tt class="py-lineno">1488</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1489"></a><tt class="py-lineno">1489</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1490"></a><tt class="py-lineno">1490</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1491"></a><tt class="py-lineno">1491</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1533" class="py-name"><a title="lxml.tests.test_objectify.TREE_PYTYPE" class="py-name" href="#" onclick="return doclink('link-1533', 'TREE_PYTYPE', 'link-28');">TREE_PYTYPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1551" class="py-name"><a title="lxml.tests.test_objectify.TREE_PYTYPE" class="py-name" href="#" onclick="return doclink('link-1551', 'TREE_PYTYPE', 'link-28');">TREE_PYTYPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L1492"></a><tt class="py-lineno">1492</tt> <tt class="py-line"> </tt>
-<a name="L1493"></a><tt class="py-lineno">1493</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1534" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1534', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1535" class="py-name"><a title="lxml.etree._Attrib.get
+<a name="L1493"></a><tt class="py-lineno">1493</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1552" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1552', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1553" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._Element.get
+lxml.etree._IDDict.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1553', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1554" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1554', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1494"></a><tt class="py-lineno">1494</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pytype_xsitype_annotation"></a><div id="ObjectifyTestCase.test_pytype_xsitype_annotation-def"><a name="L1495"></a><tt class="py-lineno">1495</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_xsitype_annotation-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_xsitype_annotation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_xsitype_annotation">test_pytype_xsitype_annotation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pytype_xsitype_annotation-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_xsitype_annotation-expanded"><a name="L1496"></a><tt class="py-lineno">1496</tt> <tt class="py-line"> <tt id="link-1555" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1555', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1556" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1556', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt> <tt class="py-line"> <tt id="link-1557" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1557', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1558" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1558', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1559" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1559', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt> <tt class="py-line"> <tt id="link-1560" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1560', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1561" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1561', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1562" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1562', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">ignore_xsi</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt> <tt class="py-line"> <tt class="py-name">annotate_xsi</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">annotate_pytype</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt> <tt class="py-line"> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt> <tt class="py-line"> <tt class="py-comment"># check py annotations</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1563" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._Element.get
+lxml.etree._IDDict.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1563', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1564" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1564', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1565" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1565', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1566" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1566', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1567" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1567', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1568" class="py-name"><a title="lxml.tests.test_objectify.TREE_PYTYPE" class="py-name" href="#" onclick="return doclink('link-1568', 'TREE_PYTYPE', 'link-28');">TREE_PYTYPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt> <tt class="py-line"> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1569" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1569', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1570" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1535', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1536" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1536', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1494"></a><tt class="py-lineno">1494</tt> <tt class="py-line"> </tt>
-<a name="L1495"></a><tt class="py-lineno">1495</tt> <tt class="py-line"> <tt class="py-name">child_xsitypes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1537" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1570', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1571" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1571', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt> <tt class="py-line"> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt> <tt class="py-line"> <tt class="py-name">child_xsitypes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1572" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1537', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1538" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1538', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1496"></a><tt class="py-lineno">1496</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1539" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1539', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1540" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1540', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1497"></a><tt class="py-lineno">1497</tt> <tt class="py-line"> </tt>
-<a name="L1498"></a><tt class="py-lineno">1498</tt> <tt class="py-line"> <tt class="py-comment"># check xsi annotations</tt> </tt>
-<a name="L1499"></a><tt class="py-lineno">1499</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1541" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1572', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1573" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1573', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1574" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1574', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1575" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1575', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt> <tt class="py-line"> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt> <tt class="py-line"> <tt class="py-comment"># check xsi annotations</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1576" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1541', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1542" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1542', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1500"></a><tt class="py-lineno">1500</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1543" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1543', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1544" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1544', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1501"></a><tt class="py-lineno">1501</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1502"></a><tt class="py-lineno">1502</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1503"></a><tt class="py-lineno">1503</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1504"></a><tt class="py-lineno">1504</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1505"></a><tt class="py-lineno">1505</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1506"></a><tt class="py-lineno">1506</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1507"></a><tt class="py-lineno">1507</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1508"></a><tt class="py-lineno">1508</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1509"></a><tt class="py-lineno">1509</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1510"></a><tt class="py-lineno">1510</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1511"></a><tt class="py-lineno">1511</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1512"></a><tt class="py-lineno">1512</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1513"></a><tt class="py-lineno">1513</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1514"></a><tt class="py-lineno">1514</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1515"></a><tt class="py-lineno">1515</tt> <tt class="py-line"> </tt>
-<a name="L1516"></a><tt class="py-lineno">1516</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1545" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1545', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1546" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1576', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1577" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1577', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1578" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1578', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1579" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1579', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt> <tt class="py-line"> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1580" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1580', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1581" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1546', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1547" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1547', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1517"></a><tt class="py-lineno">1517</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_xsiannotate_use_old"></a><div id="ObjectifyTestCase.test_xsiannotate_use_old-def"><a name="L1518"></a><tt class="py-lineno">1518</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xsiannotate_use_old-toggle" onclick="return toggle('ObjectifyTestCase.test_xsiannotate_use_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsiannotate_use_old">test_xsiannotate_use_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_xsiannotate_use_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xsiannotate_use_old-expanded"><a name="L1519"></a><tt class="py-lineno">1519</tt> <tt class="py-line"> <tt id="link-1548" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1548', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1549" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1549', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1520"></a><tt class="py-lineno">1520</tt> <tt class="py-line"> <tt id="link-1550" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1550', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1551" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1551', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1552" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1552', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1521"></a><tt class="py-lineno">1521</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1522"></a><tt class="py-lineno">1522</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1523"></a><tt class="py-lineno">1523</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1524"></a><tt class="py-lineno">1524</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1525"></a><tt class="py-lineno">1525</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1526"></a><tt class="py-lineno">1526</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1527"></a><tt class="py-lineno">1527</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1528"></a><tt class="py-lineno">1528</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1529"></a><tt class="py-lineno">1529</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1530"></a><tt class="py-lineno">1530</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1531"></a><tt class="py-lineno">1531</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1532"></a><tt class="py-lineno">1532</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1533"></a><tt class="py-lineno">1533</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1534"></a><tt class="py-lineno">1534</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1535"></a><tt class="py-lineno">1535</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1536"></a><tt class="py-lineno">1536</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1537"></a><tt class="py-lineno">1537</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1538"></a><tt class="py-lineno">1538</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1539"></a><tt class="py-lineno">1539</tt> <tt class="py-line"> <tt id="link-1553" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1553', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1554" class="py-name" targets="Function lxml.objectify.xsiannotate()=lxml.objectify-module.html#xsiannotate"><a title="lxml.objectify.xsiannotate" class="py-name" href="#" onclick="return doclink('link-1554', 'xsiannotate', 'link-1554');">xsiannotate</a></tt><tt class="py-op">(</tt><tt id="link-1555" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1555', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1540"></a><tt class="py-lineno">1540</tt> <tt class="py-line"> </tt>
-<a name="L1541"></a><tt class="py-lineno">1541</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1556" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1581', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1582" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1582', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1561"></a><tt class="py-lineno">1561</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_xsiannotate_use_old"></a><div id="ObjectifyTestCase.test_xsiannotate_use_old-def"><a name="L1562"></a><tt class="py-lineno">1562</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xsiannotate_use_old-toggle" onclick="return toggle('ObjectifyTestCase.test_xsiannotate_use_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsiannotate_use_old">test_xsiannotate_use_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_xsiannotate_use_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xsiannotate_use_old-expanded"><a name="L1563"></a><tt class="py-lineno">1563</tt> <tt class="py-line"> <tt id="link-1583" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1583', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1584" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1584', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt> <tt class="py-line"> <tt id="link-1585" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1585', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1586" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1586', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1587" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1587', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt> <tt class="py-line"> <tt id="link-1588" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1588', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1589" class="py-name" targets="Function lxml.objectify.xsiannotate()=lxml.objectify-module.html#xsiannotate"><a title="lxml.objectify.xsiannotate" class="py-name" href="#" onclick="return doclink('link-1589', 'xsiannotate', 'link-1589');">xsiannotate</a></tt><tt class="py-op">(</tt><tt id="link-1590" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1590', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt> <tt class="py-line"> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1591" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1556', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1557" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1557', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1542"></a><tt class="py-lineno">1542</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1558" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1558', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1559" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1559', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1543"></a><tt class="py-lineno">1543</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1544"></a><tt class="py-lineno">1544</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1545"></a><tt class="py-lineno">1545</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1546"></a><tt class="py-lineno">1546</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1547"></a><tt class="py-lineno">1547</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1548"></a><tt class="py-lineno">1548</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1549"></a><tt class="py-lineno">1549</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1550"></a><tt class="py-lineno">1550</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1551"></a><tt class="py-lineno">1551</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1552"></a><tt class="py-lineno">1552</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1553"></a><tt class="py-lineno">1553</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1554"></a><tt class="py-lineno">1554</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1555"></a><tt class="py-lineno">1555</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1556"></a><tt class="py-lineno">1556</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1557"></a><tt class="py-lineno">1557</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pyannotate_ignore_old"></a><div id="ObjectifyTestCase.test_pyannotate_ignore_old-def"><a name="L1558"></a><tt class="py-lineno">1558</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pyannotate_ignore_old-toggle" onclick="return toggle('ObjectifyTestCase.test_pyannotate_ignore_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_ignore_old">test_pyannotate_ignore_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pyannotate_ignore_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pyannotate_ignore_old-expanded"><a name="L1559"></a><tt class="py-lineno">1559</tt> <tt class="py-line"> <tt id="link-1560" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1560', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1561" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1561', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1560"></a><tt class="py-lineno">1560</tt> <tt class="py-line"> <tt id="link-1562" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1562', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1563" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1563', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1564" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1564', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1561"></a><tt class="py-lineno">1561</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1562"></a><tt class="py-lineno">1562</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1563"></a><tt class="py-lineno">1563</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1564"></a><tt class="py-lineno">1564</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1565"></a><tt class="py-lineno">1565</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1566"></a><tt class="py-lineno">1566</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1567"></a><tt class="py-lineno">1567</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1568"></a><tt class="py-lineno">1568</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1569"></a><tt class="py-lineno">1569</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1570"></a><tt class="py-lineno">1570</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1571"></a><tt class="py-lineno">1571</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1572"></a><tt class="py-lineno">1572</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1573"></a><tt class="py-lineno">1573</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1574"></a><tt class="py-lineno">1574</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1575"></a><tt class="py-lineno">1575</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1576"></a><tt class="py-lineno">1576</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1577"></a><tt class="py-lineno">1577</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1578"></a><tt class="py-lineno">1578</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1579"></a><tt class="py-lineno">1579</tt> <tt class="py-line"> <tt id="link-1565" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1565', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1566" class="py-name" targets="Function lxml.objectify.pyannotate()=lxml.objectify-module.html#pyannotate"><a title="lxml.objectify.pyannotate" class="py-name" href="#" onclick="return doclink('link-1566', 'pyannotate', 'link-1566');">pyannotate</a></tt><tt class="py-op">(</tt><tt id="link-1567" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1567', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L1580"></a><tt class="py-lineno">1580</tt> <tt class="py-line"> </tt>
-<a name="L1581"></a><tt class="py-lineno">1581</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1568" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1591', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1592" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1592', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1593" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1593', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1594" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1594', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1601"></a><tt class="py-lineno">1601</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pyannotate_ignore_old"></a><div id="ObjectifyTestCase.test_pyannotate_ignore_old-def"><a name="L1602"></a><tt class="py-lineno">1602</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pyannotate_ignore_old-toggle" onclick="return toggle('ObjectifyTestCase.test_pyannotate_ignore_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_ignore_old">test_pyannotate_ignore_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pyannotate_ignore_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pyannotate_ignore_old-expanded"><a name="L1603"></a><tt class="py-lineno">1603</tt> <tt class="py-line"> <tt id="link-1595" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1595', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1596" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1596', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt> <tt class="py-line"> <tt id="link-1597" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1597', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1598" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1598', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1599" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1599', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt> <tt class="py-line"> <tt id="link-1600" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1600', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1601" class="py-name" targets="Function lxml.objectify.pyannotate()=lxml.objectify-module.html#pyannotate"><a title="lxml.objectify.pyannotate" class="py-name" href="#" onclick="return doclink('link-1601', 'pyannotate', 'link-1601');">pyannotate</a></tt><tt class="py-op">(</tt><tt id="link-1602" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1602', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt> <tt class="py-line"> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1603" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1568', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1569" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1569', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1570" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1570', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1582"></a><tt class="py-lineno">1582</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1571" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1571', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1572" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1572', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1583"></a><tt class="py-lineno">1583</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1584"></a><tt class="py-lineno">1584</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1585"></a><tt class="py-lineno">1585</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1586"></a><tt class="py-lineno">1586</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1587"></a><tt class="py-lineno">1587</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1588"></a><tt class="py-lineno">1588</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1589"></a><tt class="py-lineno">1589</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1590"></a><tt class="py-lineno">1590</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1591"></a><tt class="py-lineno">1591</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1592"></a><tt class="py-lineno">1592</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1593"></a><tt class="py-lineno">1593</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1594"></a><tt class="py-lineno">1594</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1595"></a><tt class="py-lineno">1595</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1596"></a><tt class="py-lineno">1596</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1597"></a><tt class="py-lineno">1597</tt> <tt class="py-line"> </tt>
-<a name="L1598"></a><tt class="py-lineno">1598</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1573" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1573', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1574" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1603', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1604" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1604', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1605" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1605', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1606" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1606', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1607" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1607', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1627"></a><tt class="py-lineno">1627</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1628"></a><tt class="py-lineno">1628</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt> <tt class="py-line"> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1608" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1608', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1609" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1574', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1575" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1575', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1599"></a><tt class="py-lineno">1599</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pyannotate_empty"></a><div id="ObjectifyTestCase.test_pyannotate_empty-def"><a name="L1600"></a><tt class="py-lineno">1600</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pyannotate_empty-toggle" onclick="return toggle('ObjectifyTestCase.test_pyannotate_empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_empty">test_pyannotate_empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pyannotate_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pyannotate_empty-expanded"><a name="L1601"></a><tt class="py-lineno">1601</tt> <tt class="py-line"> <tt id="link-1576" class="py-name"><a title="lxml.etree.XML
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1609', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1610" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1610', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1643"></a><tt class="py-lineno">1643</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pyannotate_empty"></a><div id="ObjectifyTestCase.test_pyannotate_empty-def"><a name="L1644"></a><tt class="py-lineno">1644</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pyannotate_empty-toggle" onclick="return toggle('ObjectifyTestCase.test_pyannotate_empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_empty">test_pyannotate_empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pyannotate_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pyannotate_empty-expanded"><a name="L1645"></a><tt class="py-lineno">1645</tt> <tt class="py-line"> <tt id="link-1611" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1576', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1577" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1611', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1612" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1577', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1602"></a><tt class="py-lineno">1602</tt> <tt class="py-line"> <tt id="link-1578" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1578', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1579" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1612', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt> <tt class="py-line"> <tt id="link-1613" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1613', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1614" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1579', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1603"></a><tt class="py-lineno">1603</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1604"></a><tt class="py-lineno">1604</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1605"></a><tt class="py-lineno">1605</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1606"></a><tt class="py-lineno">1606</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1607"></a><tt class="py-lineno">1607</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1608"></a><tt class="py-lineno">1608</tt> <tt class="py-line"> <tt id="link-1580" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1580', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1581" class="py-name"><a title="lxml.objectify.pyannotate" class="py-name" href="#" onclick="return doclink('link-1581', 'pyannotate', 'link-1566');">pyannotate</a></tt><tt class="py-op">(</tt><tt id="link-1582" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1582', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1609"></a><tt class="py-lineno">1609</tt> <tt class="py-line"> </tt>
-<a name="L1610"></a><tt class="py-lineno">1610</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1583" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1614', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt> <tt class="py-line"> <tt id="link-1615" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1615', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1616" class="py-name"><a title="lxml.objectify.pyannotate" class="py-name" href="#" onclick="return doclink('link-1616', 'pyannotate', 'link-1601');">pyannotate</a></tt><tt class="py-op">(</tt><tt id="link-1617" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1617', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt> <tt class="py-line"> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1618" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1583', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1584" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1584', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1585" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1585', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1611"></a><tt class="py-lineno">1611</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1586" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1586', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1587" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1587', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1612"></a><tt class="py-lineno">1612</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1613"></a><tt class="py-lineno">1613</tt> <tt class="py-line"> </tt>
-<a name="L1614"></a><tt class="py-lineno">1614</tt> <tt class="py-line"> <tt id="link-1588" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1588', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1589" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1589', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1590" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1590', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">empty_pytype</tt><tt class="py-op">=</tt><tt class="py-string">"str"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1615"></a><tt class="py-lineno">1615</tt> <tt class="py-line"> </tt>
-<a name="L1616"></a><tt class="py-lineno">1616</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1591" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1618', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1619" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1619', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1620" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1620', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1621" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1621', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1622" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1622', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt> <tt class="py-line"> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt> <tt class="py-line"> <tt id="link-1623" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1623', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1624" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1624', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1625" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1625', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">empty_pytype</tt><tt class="py-op">=</tt><tt class="py-string">"str"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt> <tt class="py-line"> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1626" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1591', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1592" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1592', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1593" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1593', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1617"></a><tt class="py-lineno">1617</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1594" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1594', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1595" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1595', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1618"></a><tt class="py-lineno">1618</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1619"></a><tt class="py-lineno">1619</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pyannotate_use_old"></a><div id="ObjectifyTestCase.test_pyannotate_use_old-def"><a name="L1620"></a><tt class="py-lineno">1620</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pyannotate_use_old-toggle" onclick="return toggle('ObjectifyTestCase.test_pyannotate_use_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_use_old">test_pyannotate_use_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pyannotate_use_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pyannotate_use_old-expanded"><a name="L1621"></a><tt class="py-lineno">1621</tt> <tt class="py-line"> <tt id="link-1596" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1596', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1597" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1597', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1622"></a><tt class="py-lineno">1622</tt> <tt class="py-line"> <tt id="link-1598" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1598', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1599" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1599', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1623"></a><tt class="py-lineno">1623</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1624"></a><tt class="py-lineno">1624</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1625"></a><tt class="py-lineno">1625</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1626"></a><tt class="py-lineno">1626</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1627"></a><tt class="py-lineno">1627</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1628"></a><tt class="py-lineno">1628</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1629"></a><tt class="py-lineno">1629</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1630"></a><tt class="py-lineno">1630</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1631"></a><tt class="py-lineno">1631</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1632"></a><tt class="py-lineno">1632</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1633"></a><tt class="py-lineno">1633</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1634"></a><tt class="py-lineno">1634</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1635"></a><tt class="py-lineno">1635</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1636"></a><tt class="py-lineno">1636</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1637"></a><tt class="py-lineno">1637</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1638"></a><tt class="py-lineno">1638</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1639"></a><tt class="py-lineno">1639</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1640"></a><tt class="py-lineno">1640</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1641"></a><tt class="py-lineno">1641</tt> <tt class="py-line"> <tt id="link-1600" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1600', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1601" class="py-name"><a title="lxml.objectify.pyannotate" class="py-name" href="#" onclick="return doclink('link-1601', 'pyannotate', 'link-1566');">pyannotate</a></tt><tt class="py-op">(</tt><tt id="link-1602" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1602', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1642"></a><tt class="py-lineno">1642</tt> <tt class="py-line"> </tt>
-<a name="L1643"></a><tt class="py-lineno">1643</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1603" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1626', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1627" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1627', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1628" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1628', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1629" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1629', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1630" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1630', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1663"></a><tt class="py-lineno">1663</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pyannotate_use_old"></a><div id="ObjectifyTestCase.test_pyannotate_use_old-def"><a name="L1664"></a><tt class="py-lineno">1664</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pyannotate_use_old-toggle" onclick="return toggle('ObjectifyTestCase.test_pyannotate_use_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pyannotate_use_old">test_pyannotate_use_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pyannotate_use_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pyannotate_use_old-expanded"><a name="L1665"></a><tt class="py-lineno">1665</tt> <tt class="py-line"> <tt id="link-1631" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1631', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1632" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1632', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt> <tt class="py-line"> <tt id="link-1633" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1633', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1634" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1634', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1670"></a><tt class="py-lineno">1670</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1671"></a><tt class="py-lineno">1671</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt> <tt class="py-line"> <tt id="link-1635" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1635', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1636" class="py-name"><a title="lxml.objectify.pyannotate" class="py-name" href="#" onclick="return doclink('link-1636', 'pyannotate', 'link-1601');">pyannotate</a></tt><tt class="py-op">(</tt><tt id="link-1637" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1637', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt> <tt class="py-line"> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1638" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1603', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1604" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1604', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1605" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1605', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1644"></a><tt class="py-lineno">1644</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1606" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1606', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1607" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1607', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1645"></a><tt class="py-lineno">1645</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1646"></a><tt class="py-lineno">1646</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1647"></a><tt class="py-lineno">1647</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1648"></a><tt class="py-lineno">1648</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1649"></a><tt class="py-lineno">1649</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1650"></a><tt class="py-lineno">1650</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1651"></a><tt class="py-lineno">1651</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1652"></a><tt class="py-lineno">1652</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1653"></a><tt class="py-lineno">1653</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1654"></a><tt class="py-lineno">1654</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1655"></a><tt class="py-lineno">1655</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1656"></a><tt class="py-lineno">1656</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1657"></a><tt class="py-lineno">1657</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1658"></a><tt class="py-lineno">1658</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1608" class="py-name"><a title="lxml.tests.test_objectify.TREE_PYTYPE" class="py-name" href="#" onclick="return doclink('link-1608', 'TREE_PYTYPE', 'link-28');">TREE_PYTYPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1659"></a><tt class="py-lineno">1659</tt> <tt class="py-line"> </tt>
-<a name="L1660"></a><tt class="py-lineno">1660</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1609" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1609', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1610" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1638', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1639" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1639', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1640" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1640', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1641" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1641', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1642" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1642', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1643" class="py-name"><a title="lxml.tests.test_objectify.TREE_PYTYPE" class="py-name" href="#" onclick="return doclink('link-1643', 'TREE_PYTYPE', 'link-28');">TREE_PYTYPE</a></tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt> <tt class="py-line"> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1644" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1644', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1645" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1610', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1611" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1611', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1661"></a><tt class="py-lineno">1661</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_xsiannotate_ignore_old"></a><div id="ObjectifyTestCase.test_xsiannotate_ignore_old-def"><a name="L1662"></a><tt class="py-lineno">1662</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xsiannotate_ignore_old-toggle" onclick="return toggle('ObjectifyTestCase.test_xsiannotate_ignore_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsiannotate_ignore_old">test_xsiannotate_ignore_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_xsiannotate_ignore_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xsiannotate_ignore_old-expanded"><a name="L1663"></a><tt class="py-lineno">1663</tt> <tt class="py-line"> <tt id="link-1612" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1612', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1613" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1613', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1664"></a><tt class="py-lineno">1664</tt> <tt class="py-line"> <tt id="link-1614" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1614', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1615" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1615', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1616" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1616', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1665"></a><tt class="py-lineno">1665</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1666"></a><tt class="py-lineno">1666</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1667"></a><tt class="py-lineno">1667</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1668"></a><tt class="py-lineno">1668</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1669"></a><tt class="py-lineno">1669</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1670"></a><tt class="py-lineno">1670</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1671"></a><tt class="py-lineno">1671</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1672"></a><tt class="py-lineno">1672</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1673"></a><tt class="py-lineno">1673</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1674"></a><tt class="py-lineno">1674</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1675"></a><tt class="py-lineno">1675</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1676"></a><tt class="py-lineno">1676</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1677"></a><tt class="py-lineno">1677</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1678"></a><tt class="py-lineno">1678</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1679"></a><tt class="py-lineno">1679</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1680"></a><tt class="py-lineno">1680</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1681"></a><tt class="py-lineno">1681</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1682"></a><tt class="py-lineno">1682</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1683"></a><tt class="py-lineno">1683</tt> <tt class="py-line"> <tt id="link-1617" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1617', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1618" class="py-name"><a title="lxml.objectify.xsiannotate" class="py-name" href="#" onclick="return doclink('link-1618', 'xsiannotate', 'link-1554');">xsiannotate</a></tt><tt class="py-op">(</tt><tt id="link-1619" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1619', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L1684"></a><tt class="py-lineno">1684</tt> <tt class="py-line"> </tt>
-<a name="L1685"></a><tt class="py-lineno">1685</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1620" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1645', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1646" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1646', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1705"></a><tt class="py-lineno">1705</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_xsiannotate_ignore_old"></a><div id="ObjectifyTestCase.test_xsiannotate_ignore_old-def"><a name="L1706"></a><tt class="py-lineno">1706</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xsiannotate_ignore_old-toggle" onclick="return toggle('ObjectifyTestCase.test_xsiannotate_ignore_old');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsiannotate_ignore_old">test_xsiannotate_ignore_old</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_xsiannotate_ignore_old-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xsiannotate_ignore_old-expanded"><a name="L1707"></a><tt class="py-lineno">1707</tt> <tt class="py-line"> <tt id="link-1647" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1647', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1648" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1648', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt> <tt class="py-line"> <tt id="link-1649" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1649', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1650" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1650', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1651" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1651', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1710"></a><tt class="py-lineno">1710</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1711"></a><tt class="py-lineno">1711</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1712"></a><tt class="py-lineno">1712</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt> <tt class="py-line"> <tt id="link-1652" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1652', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1653" class="py-name"><a title="lxml.objectify.xsiannotate" class="py-name" href="#" onclick="return doclink('link-1653', 'xsiannotate', 'link-1589');">xsiannotate</a></tt><tt class="py-op">(</tt><tt id="link-1654" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1654', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt> <tt class="py-line"> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1655" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1620', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1621" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1621', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1686"></a><tt class="py-lineno">1686</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1622" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1622', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1623" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1623', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1687"></a><tt class="py-lineno">1687</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1688"></a><tt class="py-lineno">1688</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1689"></a><tt class="py-lineno">1689</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1690"></a><tt class="py-lineno">1690</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1691"></a><tt class="py-lineno">1691</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1692"></a><tt class="py-lineno">1692</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1693"></a><tt class="py-lineno">1693</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1694"></a><tt class="py-lineno">1694</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1695"></a><tt class="py-lineno">1695</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1696"></a><tt class="py-lineno">1696</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1697"></a><tt class="py-lineno">1697</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1698"></a><tt class="py-lineno">1698</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1699"></a><tt class="py-lineno">1699</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1700"></a><tt class="py-lineno">1700</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1701"></a><tt class="py-lineno">1701</tt> <tt class="py-line"> </tt>
-<a name="L1702"></a><tt class="py-lineno">1702</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1624" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1624', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1625" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1655', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1656" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1656', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1657" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1657', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1658" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1658', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt> <tt class="py-line"> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1659" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1659', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1660" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1625', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1626" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1626', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1703"></a><tt class="py-lineno">1703</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_deannotate"></a><div id="ObjectifyTestCase.test_deannotate-def"><a name="L1704"></a><tt class="py-lineno">1704</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_deannotate-toggle" onclick="return toggle('ObjectifyTestCase.test_deannotate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_deannotate">test_deannotate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_deannotate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_deannotate-expanded"><a name="L1705"></a><tt class="py-lineno">1705</tt> <tt class="py-line"> <tt id="link-1627" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1627', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1628" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1628', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1706"></a><tt class="py-lineno">1706</tt> <tt class="py-line"> <tt id="link-1629" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1629', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1630" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1630', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1631" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1631', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1707"></a><tt class="py-lineno">1707</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1708"></a><tt class="py-lineno">1708</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1709"></a><tt class="py-lineno">1709</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1710"></a><tt class="py-lineno">1710</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1711"></a><tt class="py-lineno">1711</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1712"></a><tt class="py-lineno">1712</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1713"></a><tt class="py-lineno">1713</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1714"></a><tt class="py-lineno">1714</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1715"></a><tt class="py-lineno">1715</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1716"></a><tt class="py-lineno">1716</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1717"></a><tt class="py-lineno">1717</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1718"></a><tt class="py-lineno">1718</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1719"></a><tt class="py-lineno">1719</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1720"></a><tt class="py-lineno">1720</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1721"></a><tt class="py-lineno">1721</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1722"></a><tt class="py-lineno">1722</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1723"></a><tt class="py-lineno">1723</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1724"></a><tt class="py-lineno">1724</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1725"></a><tt class="py-lineno">1725</tt> <tt class="py-line"> <tt id="link-1632" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1632', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1633" class="py-name" targets="Function lxml.objectify.deannotate()=lxml.objectify-module.html#deannotate"><a title="lxml.objectify.deannotate" class="py-name" href="#" onclick="return doclink('link-1633', 'deannotate', 'link-1633');">deannotate</a></tt><tt class="py-op">(</tt><tt id="link-1634" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1634', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1726"></a><tt class="py-lineno">1726</tt> <tt class="py-line"> </tt>
-<a name="L1727"></a><tt class="py-lineno">1727</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1635" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1635', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1636" class="py-name" targets="Method lxml.etree._Element.getiterator()=lxml.etree._Element-class.html#getiterator,Method lxml.etree._ElementTree.getiterator()=lxml.etree._ElementTree-class.html#getiterator"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-1636', 'getiterator', 'link-1636');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1728"></a><tt class="py-lineno">1728</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1637" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1660', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1661" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1661', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1747"></a><tt class="py-lineno">1747</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_deannotate"></a><div id="ObjectifyTestCase.test_deannotate-def"><a name="L1748"></a><tt class="py-lineno">1748</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_deannotate-toggle" onclick="return toggle('ObjectifyTestCase.test_deannotate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_deannotate">test_deannotate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_deannotate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_deannotate-expanded"><a name="L1749"></a><tt class="py-lineno">1749</tt> <tt class="py-line"> <tt id="link-1662" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1662', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1663" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1663', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1750"></a><tt class="py-lineno">1750</tt> <tt class="py-line"> <tt id="link-1664" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1664', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1665" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1665', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1666" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1666', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt> <tt class="py-line"> <tt id="link-1667" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1667', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1668" class="py-name" targets="Function lxml.objectify.deannotate()=lxml.objectify-module.html#deannotate"><a title="lxml.objectify.deannotate" class="py-name" href="#" onclick="return doclink('link-1668', 'deannotate', 'link-1668');">deannotate</a></tt><tt class="py-op">(</tt><tt id="link-1669" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1669', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt> <tt class="py-line"> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1670" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1670', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1671" class="py-name" targets="Method lxml.etree._Element.getiterator()=lxml.etree._Element-class.html#getiterator,Method lxml.etree._ElementTree.getiterator()=lxml.etree._ElementTree-class.html#getiterator"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-1671', 'getiterator', 'link-1671');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1672" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1637', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1638" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1638', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1729"></a><tt class="py-lineno">1729</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1639" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1672', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1673" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1673', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1674" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1639', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1640" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1640', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1641" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1641', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1730"></a><tt class="py-lineno">1730</tt> <tt class="py-line"> </tt>
-<a name="L1731"></a><tt class="py-lineno">1731</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1642" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1642', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1643" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1674', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1675" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1675', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1676" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1676', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt> <tt class="py-line"> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1677" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1677', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1678" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1643', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1644" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1644', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1732"></a><tt class="py-lineno">1732</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_xsinil_deannotate"></a><div id="ObjectifyTestCase.test_xsinil_deannotate-def"><a name="L1733"></a><tt class="py-lineno">1733</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xsinil_deannotate-toggle" onclick="return toggle('ObjectifyTestCase.test_xsinil_deannotate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsinil_deannotate">test_xsinil_deannotate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_xsinil_deannotate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xsinil_deannotate-expanded"><a name="L1734"></a><tt class="py-lineno">1734</tt> <tt class="py-line"> <tt id="link-1645" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1645', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1646" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1646', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1735"></a><tt class="py-lineno">1735</tt> <tt class="py-line"> <tt id="link-1647" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1647', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1648" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1648', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1649" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1649', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1736"></a><tt class="py-lineno">1736</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1737"></a><tt class="py-lineno">1737</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
-<a name="L1738"></a><tt class="py-lineno">1738</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1739"></a><tt class="py-lineno">1739</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1740"></a><tt class="py-lineno">1740</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1741"></a><tt class="py-lineno">1741</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1742"></a><tt class="py-lineno">1742</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1743"></a><tt class="py-lineno">1743</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1744"></a><tt class="py-lineno">1744</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1745"></a><tt class="py-lineno">1745</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1746"></a><tt class="py-lineno">1746</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
-<a name="L1747"></a><tt class="py-lineno">1747</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
-<a name="L1748"></a><tt class="py-lineno">1748</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1749"></a><tt class="py-lineno">1749</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1750"></a><tt class="py-lineno">1750</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1751"></a><tt class="py-lineno">1751</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1752"></a><tt class="py-lineno">1752</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1753"></a><tt class="py-lineno">1753</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1754"></a><tt class="py-lineno">1754</tt> <tt class="py-line"> <tt id="link-1650" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1650', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1651" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1651', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L1755"></a><tt class="py-lineno">1755</tt> <tt class="py-line"> <tt id="link-1652" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1652', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">ignore_xsi</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">annotate_xsi</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
-<a name="L1756"></a><tt class="py-lineno">1756</tt> <tt class="py-line"> <tt class="py-name">empty_pytype</tt><tt class="py-op">=</tt><tt class="py-string">'str'</tt><tt class="py-op">,</tt> <tt class="py-name">empty_type</tt><tt class="py-op">=</tt><tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1757"></a><tt class="py-lineno">1757</tt> <tt class="py-line"> <tt id="link-1653" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1653', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1654" class="py-name"><a title="lxml.objectify.deannotate" class="py-name" href="#" onclick="return doclink('link-1654', 'deannotate', 'link-1633');">deannotate</a></tt><tt class="py-op">(</tt><tt id="link-1655" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1655', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">xsi</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">xsi_nil</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L1758"></a><tt class="py-lineno">1758</tt> <tt class="py-line"> </tt>
-<a name="L1759"></a><tt class="py-lineno">1759</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1656" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1678', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1679" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1679', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1776"></a><tt class="py-lineno">1776</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_xsinil_deannotate"></a><div id="ObjectifyTestCase.test_xsinil_deannotate-def"><a name="L1777"></a><tt class="py-lineno">1777</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xsinil_deannotate-toggle" onclick="return toggle('ObjectifyTestCase.test_xsinil_deannotate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsinil_deannotate">test_xsinil_deannotate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_xsinil_deannotate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xsinil_deannotate-expanded"><a name="L1778"></a><tt class="py-lineno">1778</tt> <tt class="py-line"> <tt id="link-1680" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1680', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1681" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1681', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt> <tt class="py-line"> <tt id="link-1682" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1682', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1683" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1683', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1684" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1684', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"></tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="float">5</b></tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="string">23</s></tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt> <tt class="py-line"> <tt id="link-1685" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1685', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1686" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1686', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt> <tt class="py-line"> <tt id="link-1687" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1687', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_old</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">ignore_xsi</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">annotate_xsi</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt> <tt class="py-line"> <tt class="py-name">empty_pytype</tt><tt class="py-op">=</tt><tt class="py-string">'str'</tt><tt class="py-op">,</tt> <tt class="py-name">empty_type</tt><tt class="py-op">=</tt><tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt> <tt class="py-line"> <tt id="link-1688" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1688', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1689" class="py-name"><a title="lxml.objectify.deannotate" class="py-name" href="#" onclick="return doclink('link-1689', 'deannotate', 'link-1668');">deannotate</a></tt><tt class="py-op">(</tt><tt id="link-1690" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1690', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">xsi</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">xsi_nil</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt> <tt class="py-line"> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1691" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1656', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1657" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1657', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1760"></a><tt class="py-lineno">1760</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1658" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1658', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1659" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1659', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1761"></a><tt class="py-lineno">1761</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1762"></a><tt class="py-lineno">1762</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1763"></a><tt class="py-lineno">1763</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1764"></a><tt class="py-lineno">1764</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1765"></a><tt class="py-lineno">1765</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1766"></a><tt class="py-lineno">1766</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1767"></a><tt class="py-lineno">1767</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1768"></a><tt class="py-lineno">1768</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1769"></a><tt class="py-lineno">1769</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1770"></a><tt class="py-lineno">1770</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1771"></a><tt class="py-lineno">1771</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1772"></a><tt class="py-lineno">1772</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1773"></a><tt class="py-lineno">1773</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1774"></a><tt class="py-lineno">1774</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1775"></a><tt class="py-lineno">1775</tt> <tt class="py-line"> </tt>
-<a name="L1776"></a><tt class="py-lineno">1776</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1660" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1660', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1661" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1691', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1692" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1692', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1693" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1693', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1694" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1694', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1809"></a><tt class="py-lineno">1809</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:integer"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt> <tt class="py-line"> </tt>
+<a name="L1820"></a><tt class="py-lineno">1820</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1695" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1695', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1696" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1661', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1662" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1662', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1777"></a><tt class="py-lineno">1777</tt> <tt class="py-line"> </tt>
-<a name="L1778"></a><tt class="py-lineno">1778</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1663" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1663', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1664" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1664', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1779"></a><tt class="py-lineno">1779</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1665" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1696', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1697" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1697', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt> <tt class="py-line"> </tt>
+<a name="L1822"></a><tt class="py-lineno">1822</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1698" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1698', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1699" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1699', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1700" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1665', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1666" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1666', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1667" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1667', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1780"></a><tt class="py-lineno">1780</tt> <tt class="py-line"> <tt class="py-comment"># these have no equivalent in xsi:type</tt> </tt>
-<a name="L1781"></a><tt class="py-lineno">1781</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1668" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1700', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1701" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1701', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1702" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1702', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt> <tt class="py-line"> <tt class="py-comment"># these have no equivalent in xsi:type</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1703" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1668', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1669" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1669', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1670" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1670', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt id="link-1671" class="py-name"><a title="lxml.tests.test_objectify.TREE_PYTYPE" class="py-name" href="#" onclick="return doclink('link-1671', 'TREE_PYTYPE', 'link-28');">TREE_PYTYPE</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1782"></a><tt class="py-lineno">1782</tt> <tt class="py-line"> <tt class="py-string">"NoneType"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1783"></a><tt class="py-lineno">1783</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1784"></a><tt class="py-lineno">1784</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1672" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1703', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1704" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1704', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1705" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1705', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt id="link-1706" class="py-name"><a title="lxml.tests.test_objectify.TREE_PYTYPE" class="py-name" href="#" onclick="return doclink('link-1706', 'TREE_PYTYPE', 'link-28');">TREE_PYTYPE</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt> <tt class="py-line"> <tt class="py-string">"NoneType"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1707" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1672', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1673" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1673', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1785"></a><tt class="py-lineno">1785</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_xsitype_deannotate"></a><div id="ObjectifyTestCase.test_xsitype_deannotate-def"><a name="L1786"></a><tt class="py-lineno">1786</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xsitype_deannotate-toggle" onclick="return toggle('ObjectifyTestCase.test_xsitype_deannotate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsitype_deannotate">test_xsitype_deannotate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_xsitype_deannotate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xsitype_deannotate-expanded"><a name="L1787"></a><tt class="py-lineno">1787</tt> <tt class="py-line"> <tt id="link-1674" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1674', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1675" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1675', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1788"></a><tt class="py-lineno">1788</tt> <tt class="py-line"> <tt id="link-1676" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1676', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1677" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1677', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1678" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1678', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1789"></a><tt class="py-lineno">1789</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1790"></a><tt class="py-lineno">1790</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"</tt> </tt>
-<a name="L1791"></a><tt class="py-lineno">1791</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsd="http://www.w3.org/2001/XMLSchema"></tt> </tt>
-<a name="L1792"></a><tt class="py-lineno">1792</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1793"></a><tt class="py-lineno">1793</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1794"></a><tt class="py-lineno">1794</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1795"></a><tt class="py-lineno">1795</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1796"></a><tt class="py-lineno">1796</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1797"></a><tt class="py-lineno">1797</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1798"></a><tt class="py-lineno">1798</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1799"></a><tt class="py-lineno">1799</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:double">5</b></tt> </tt>
-<a name="L1800"></a><tt class="py-lineno">1800</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:float">5</b></tt> </tt>
-<a name="L1801"></a><tt class="py-lineno">1801</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:string">23</s></tt> </tt>
-<a name="L1802"></a><tt class="py-lineno">1802</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
-<a name="L1803"></a><tt class="py-lineno">1803</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
-<a name="L1804"></a><tt class="py-lineno">1804</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
-<a name="L1805"></a><tt class="py-lineno">1805</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1806"></a><tt class="py-lineno">1806</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1807"></a><tt class="py-lineno">1807</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1808"></a><tt class="py-lineno">1808</tt> <tt class="py-line"> <tt id="link-1679" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1679', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1680" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1680', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1681" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1681', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1809"></a><tt class="py-lineno">1809</tt> <tt class="py-line"> <tt id="link-1682" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1682', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1683" class="py-name"><a title="lxml.objectify.deannotate" class="py-name" href="#" onclick="return doclink('link-1683', 'deannotate', 'link-1633');">deannotate</a></tt><tt class="py-op">(</tt><tt id="link-1684" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1684', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1810"></a><tt class="py-lineno">1810</tt> <tt class="py-line"> </tt>
-<a name="L1811"></a><tt class="py-lineno">1811</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1685" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1707', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1708" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1708', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1829"></a><tt class="py-lineno">1829</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_xsitype_deannotate"></a><div id="ObjectifyTestCase.test_xsitype_deannotate-def"><a name="L1830"></a><tt class="py-lineno">1830</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xsitype_deannotate-toggle" onclick="return toggle('ObjectifyTestCase.test_xsitype_deannotate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xsitype_deannotate">test_xsitype_deannotate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_xsitype_deannotate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xsitype_deannotate-expanded"><a name="L1831"></a><tt class="py-lineno">1831</tt> <tt class="py-line"> <tt id="link-1709" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1709', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1710" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1710', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt> <tt class="py-line"> <tt id="link-1711" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1711', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1712" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1712', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1713" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1713', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsd="http://www.w3.org/2001/XMLSchema"></tt> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:double">5</b></tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:float">5</b></tt> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:string">23</s></tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt> <tt class="py-line"><tt class="py-string"> <s py:pytype="str">42</s></tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt> <tt class="py-line"><tt class="py-string"> <f py:pytype="float">300</f></tt> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt> <tt class="py-line"><tt class="py-string"> <l py:pytype="long">2</l></tt> </tt>
+<a name="L1849"></a><tt class="py-lineno">1849</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt> <tt class="py-line"> <tt id="link-1714" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1714', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1715" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1715', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1716" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1716', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt> <tt class="py-line"> <tt id="link-1717" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1717', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1718" class="py-name"><a title="lxml.objectify.deannotate" class="py-name" href="#" onclick="return doclink('link-1718', 'deannotate', 'link-1668');">deannotate</a></tt><tt class="py-op">(</tt><tt id="link-1719" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1719', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt> <tt class="py-line"> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1720" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1685', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1686" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1686', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1687" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1687', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1812"></a><tt class="py-lineno">1812</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1688" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1688', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1689" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1689', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1813"></a><tt class="py-lineno">1813</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1814"></a><tt class="py-lineno">1814</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1815"></a><tt class="py-lineno">1815</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1816"></a><tt class="py-lineno">1816</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1817"></a><tt class="py-lineno">1817</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1818"></a><tt class="py-lineno">1818</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1819"></a><tt class="py-lineno">1819</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1820"></a><tt class="py-lineno">1820</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1821"></a><tt class="py-lineno">1821</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1822"></a><tt class="py-lineno">1822</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1823"></a><tt class="py-lineno">1823</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1824"></a><tt class="py-lineno">1824</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1825"></a><tt class="py-lineno">1825</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1826"></a><tt class="py-lineno">1826</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1827"></a><tt class="py-lineno">1827</tt> <tt class="py-line"> </tt>
-<a name="L1828"></a><tt class="py-lineno">1828</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1690" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1690', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1691" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1720', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1721" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1721', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1722" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1722', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1723" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1723', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1724" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1724', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"bool"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"NoneType"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"str"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt> <tt class="py-line"> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1725" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1725', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1726" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1691', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1692" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1692', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1829"></a><tt class="py-lineno">1829</tt> <tt class="py-line"> </tt>
-<a name="L1830"></a><tt class="py-lineno">1830</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1693" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1693', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1694" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-1694', 'getiterator', 'link-1636');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1831"></a><tt class="py-lineno">1831</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1695" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1726', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1727" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1727', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt> <tt class="py-line"> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1728" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1728', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1729" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-1729', 'getiterator', 'link-1671');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1730" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1695', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1696" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1696', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1832"></a><tt class="py-lineno">1832</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pytype_deannotate"></a><div id="ObjectifyTestCase.test_pytype_deannotate-def"><a name="L1833"></a><tt class="py-lineno">1833</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_deannotate-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_deannotate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_deannotate">test_pytype_deannotate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pytype_deannotate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_deannotate-expanded"><a name="L1834"></a><tt class="py-lineno">1834</tt> <tt class="py-line"> <tt id="link-1697" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1697', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1698" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1698', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1835"></a><tt class="py-lineno">1835</tt> <tt class="py-line"> <tt id="link-1699" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1699', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1700" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1700', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1701" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1701', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1836"></a><tt class="py-lineno">1836</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
-<a name="L1837"></a><tt class="py-lineno">1837</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"</tt> </tt>
-<a name="L1838"></a><tt class="py-lineno">1838</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsd="http://www.w3.org/2001/XMLSchema"></tt> </tt>
-<a name="L1839"></a><tt class="py-lineno">1839</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:int">5</b></tt> </tt>
-<a name="L1840"></a><tt class="py-lineno">1840</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:string">test</b></tt> </tt>
-<a name="L1841"></a><tt class="py-lineno">1841</tt> <tt class="py-line"><tt class="py-string"> <c xsi:type="xsd:float">1.1</c></tt> </tt>
-<a name="L1842"></a><tt class="py-lineno">1842</tt> <tt class="py-line"><tt class="py-string"> <c xsi:type="xsd:string">\uF8D2</c></tt> </tt>
-<a name="L1843"></a><tt class="py-lineno">1843</tt> <tt class="py-line"><tt class="py-string"> <x xsi:type="xsd:boolean">true</x></tt> </tt>
-<a name="L1844"></a><tt class="py-lineno">1844</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1845"></a><tt class="py-lineno">1845</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1846"></a><tt class="py-lineno">1846</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:double">5</b></tt> </tt>
-<a name="L1847"></a><tt class="py-lineno">1847</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:float">5</b></tt> </tt>
-<a name="L1848"></a><tt class="py-lineno">1848</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:string">23</s></tt> </tt>
-<a name="L1849"></a><tt class="py-lineno">1849</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:string">42</s></tt> </tt>
-<a name="L1850"></a><tt class="py-lineno">1850</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="xsd:float">300</f></tt> </tt>
-<a name="L1851"></a><tt class="py-lineno">1851</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:long">2</l></tt> </tt>
-<a name="L1852"></a><tt class="py-lineno">1852</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
-<a name="L1853"></a><tt class="py-lineno">1853</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1854"></a><tt class="py-lineno">1854</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1855"></a><tt class="py-lineno">1855</tt> <tt class="py-line"> <tt id="link-1702" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1702', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1703" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1703', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1704" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1704', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1856"></a><tt class="py-lineno">1856</tt> <tt class="py-line"> <tt id="link-1705" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1705', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1706" class="py-name"><a title="lxml.objectify.deannotate" class="py-name" href="#" onclick="return doclink('link-1706', 'deannotate', 'link-1633');">deannotate</a></tt><tt class="py-op">(</tt><tt id="link-1707" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1707', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xsi</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1857"></a><tt class="py-lineno">1857</tt> <tt class="py-line"> </tt>
-<a name="L1858"></a><tt class="py-lineno">1858</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1708" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1730', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1731" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1731', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1876"></a><tt class="py-lineno">1876</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pytype_deannotate"></a><div id="ObjectifyTestCase.test_pytype_deannotate-def"><a name="L1877"></a><tt class="py-lineno">1877</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pytype_deannotate-toggle" onclick="return toggle('ObjectifyTestCase.test_pytype_deannotate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pytype_deannotate">test_pytype_deannotate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pytype_deannotate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pytype_deannotate-expanded"><a name="L1878"></a><tt class="py-lineno">1878</tt> <tt class="py-line"> <tt id="link-1732" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1732', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1733" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1733', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt> <tt class="py-line"> <tt id="link-1734" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1734', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1735" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1735', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1736" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1736', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</tt> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt> <tt class="py-line"><tt class="py-string"> xmlns:py="http://codespeak.net/lxml/objectify/pytype"</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsd="http://www.w3.org/2001/XMLSchema"></tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:int">5</b></tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:string">test</b></tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt> <tt class="py-line"><tt class="py-string"> <c xsi:type="xsd:float">1.1</c></tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt> <tt class="py-line"><tt class="py-string"> <c xsi:type="xsd:string">\uF8D2</c></tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt> <tt class="py-line"><tt class="py-string"> <x xsi:type="xsd:boolean">true</x></tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:double">5</b></tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="xsd:float">5</b></tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:string">23</s></tt> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt> <tt class="py-line"><tt class="py-string"> <s xsi:type="xsd:string">42</s></tt> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt> <tt class="py-line"><tt class="py-string"> <f xsi:type="xsd:float">300</f></tt> </tt>
+<a name="L1895"></a><tt class="py-lineno">1895</tt> <tt class="py-line"><tt class="py-string"> <l xsi:type="xsd:long">2</l></tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt> <tt class="py-line"><tt class="py-string"> <t py:pytype="TREE"></t></tt> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt> <tt class="py-line"> <tt id="link-1737" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1737', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1738" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1738', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1739" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1739', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt> <tt class="py-line"> <tt id="link-1740" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1740', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1741" class="py-name"><a title="lxml.objectify.deannotate" class="py-name" href="#" onclick="return doclink('link-1741', 'deannotate', 'link-1668');">deannotate</a></tt><tt class="py-op">(</tt><tt id="link-1742" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1742', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xsi</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt> <tt class="py-line"> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt> <tt class="py-line"> <tt class="py-name">child_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1743" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1708', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1709" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1709', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1859"></a><tt class="py-lineno">1859</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1710" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1710', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1711" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1711', 'iterchildren', 'link-1478');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L1860"></a><tt class="py-lineno">1860</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1861"></a><tt class="py-lineno">1861</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1862"></a><tt class="py-lineno">1862</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1863"></a><tt class="py-lineno">1863</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1864"></a><tt class="py-lineno">1864</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1865"></a><tt class="py-lineno">1865</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1866"></a><tt class="py-lineno">1866</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1867"></a><tt class="py-lineno">1867</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1868"></a><tt class="py-lineno">1868</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1869"></a><tt class="py-lineno">1869</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1870"></a><tt class="py-lineno">1870</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1871"></a><tt class="py-lineno">1871</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1872"></a><tt class="py-lineno">1872</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:long"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1873"></a><tt class="py-lineno">1873</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1874"></a><tt class="py-lineno">1874</tt> <tt class="py-line"> </tt>
-<a name="L1875"></a><tt class="py-lineno">1875</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1712" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1712', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1713" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1743', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1744" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_INSTANCE_TYPE_ATTR" class="py-name" href="#" onclick="return doclink('link-1744', 'XML_SCHEMA_INSTANCE_TYPE_ATTR', 'link-24');">XML_SCHEMA_INSTANCE_TYPE_ATTR</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1745" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1745', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1746" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-1746', 'iterchildren', 'link-1513');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:int"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:boolean"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:double"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:string"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:float"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"xsd:long"</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1917"></a><tt class="py-lineno">1917</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">child_types</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt> <tt class="py-line"> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> <tt id="link-1747" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1747', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">.</tt><tt id="link-1748" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1713', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1714" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1714', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1876"></a><tt class="py-lineno">1876</tt> <tt class="py-line"> </tt>
-<a name="L1877"></a><tt class="py-lineno">1877</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1715" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1715', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1716" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-1716', 'getiterator', 'link-1636');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1878"></a><tt class="py-lineno">1878</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1717" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1748', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1749" class="py-name"><a title="lxml.tests.test_objectify.XML_SCHEMA_NIL_ATTR" class="py-name" href="#" onclick="return doclink('link-1749', 'XML_SCHEMA_NIL_ATTR', 'link-26');">XML_SCHEMA_NIL_ATTR</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt> <tt class="py-line"> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1750" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1750', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1751" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-1751', 'getiterator', 'link-1671');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1752" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1717', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1718" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1718', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1719" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1719', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1879"></a><tt class="py-lineno">1879</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_change_pytype_attribute"></a><div id="ObjectifyTestCase.test_change_pytype_attribute-def"><a name="L1880"></a><tt class="py-lineno">1880</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_change_pytype_attribute-toggle" onclick="return toggle('ObjectifyTestCase.test_change_pytype_attribute');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_change_pytype_attribute">test_change_pytype_attribute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_change_pytype_attribute-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_change_pytype_attribute-expanded"><a name="L1881"></a><tt class="py-lineno">1881</tt> <tt class="py-line"> <tt id="link-1720" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1720', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1721" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1721', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L1882"></a><tt class="py-lineno">1882</tt> <tt class="py-line"> </tt>
-<a name="L1883"></a><tt class="py-lineno">1883</tt> <tt class="py-line"> <tt id="link-1722" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1722', 'xml', 'link-64');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1723" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1723', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1884"></a><tt class="py-lineno">1884</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></tt> </tt>
-<a name="L1885"></a><tt class="py-lineno">1885</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
-<a name="L1886"></a><tt class="py-lineno">1886</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
-<a name="L1887"></a><tt class="py-lineno">1887</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
-<a name="L1888"></a><tt class="py-lineno">1888</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
-<a name="L1889"></a><tt class="py-lineno">1889</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
-<a name="L1890"></a><tt class="py-lineno">1890</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L1891"></a><tt class="py-lineno">1891</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
-<a name="L1892"></a><tt class="py-lineno">1892</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
-<a name="L1893"></a><tt class="py-lineno">1893</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
-<a name="L1894"></a><tt class="py-lineno">1894</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1895"></a><tt class="py-lineno">1895</tt> <tt class="py-line"> </tt>
-<a name="L1896"></a><tt class="py-lineno">1896</tt> <tt class="py-line"> <tt class="py-name">pytype_ns</tt><tt class="py-op">,</tt> <tt class="py-name">pytype_name</tt> <tt class="py-op">=</tt> <tt id="link-1724" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1724', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1725" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1725', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'}'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1897"></a><tt class="py-lineno">1897</tt> <tt class="py-line"> <tt id="link-1726" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1726', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1727" class="py-name"><a title="lxml.objectify.set_pytype_attribute_tag" class="py-name" href="#" onclick="return doclink('link-1727', 'set_pytype_attribute_tag', 'link-94');">set_pytype_attribute_tag</a></tt><tt class="py-op">(</tt><tt class="py-string">"{TEST}test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1898"></a><tt class="py-lineno">1898</tt> <tt class="py-line"> </tt>
-<a name="L1899"></a><tt class="py-lineno">1899</tt> <tt class="py-line"> <tt id="link-1728" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1728', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1729" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1729', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1730" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1730', 'xml', 'link-64');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1900"></a><tt class="py-lineno">1900</tt> <tt class="py-line"> <tt id="link-1731" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1731', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1732" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1732', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1733" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1733', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1901"></a><tt class="py-lineno">1901</tt> <tt class="py-line"> </tt>
-<a name="L1902"></a><tt class="py-lineno">1902</tt> <tt class="py-line"> <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt id="link-1734" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1734', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1735" class="py-name" targets="Method lxml.etree._Element.xpath()=lxml.etree._Element-class.html#xpath,Method lxml.etree._ElementTree.xpath()=lxml.etree._ElementTree-class.html#xpath,Function lxml.tests.test_xpathevaluator.xpath()=lxml.tests.test_xpathevaluator-module.html#xpath"><a title="lxml.etree._Element.xpath
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-1752', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt id="link-1753" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1753', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1754" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1754', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1923"></a><tt class="py-lineno">1923</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_change_pytype_attribute"></a><div id="ObjectifyTestCase.test_change_pytype_attribute-def"><a name="L1924"></a><tt class="py-lineno">1924</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_change_pytype_attribute-toggle" onclick="return toggle('ObjectifyTestCase.test_change_pytype_attribute');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_change_pytype_attribute">test_change_pytype_attribute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_change_pytype_attribute-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_change_pytype_attribute-expanded"><a name="L1925"></a><tt class="py-lineno">1925</tt> <tt class="py-line"> <tt id="link-1755" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1755', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1756" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1756', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt> <tt class="py-line"> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt> <tt class="py-line"> <tt id="link-1757" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1757', 'xml', 'link-64');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1758" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1758', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt> <tt class="py-line"><tt class="py-string"> <a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt> <tt class="py-line"><tt class="py-string"> <b>5</b></tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt> <tt class="py-line"><tt class="py-string"> <b>test</b></tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt> <tt class="py-line"><tt class="py-string"> <c>1.1</c></tt> </tt>
+<a name="L1932"></a><tt class="py-lineno">1932</tt> <tt class="py-line"><tt class="py-string"> <c>\uF8D2</c></tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt> <tt class="py-line"><tt class="py-string"> <x>true</x></tt> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt> <tt class="py-line"><tt class="py-string"> <n></n></tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt> <tt class="py-line"><tt class="py-string"> <b xsi:type="double">5</b></tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt> <tt class="py-line"><tt class="py-string"> </a></tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt> <tt class="py-line"> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt> <tt class="py-line"> <tt class="py-name">pytype_ns</tt><tt class="py-op">,</tt> <tt class="py-name">pytype_name</tt> <tt class="py-op">=</tt> <tt id="link-1759" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1759', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1760" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1760', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'}'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt> <tt class="py-line"> <tt id="link-1761" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1761', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1762" class="py-name"><a title="lxml.objectify.set_pytype_attribute_tag" class="py-name" href="#" onclick="return doclink('link-1762', 'set_pytype_attribute_tag', 'link-94');">set_pytype_attribute_tag</a></tt><tt class="py-op">(</tt><tt class="py-string">"{TEST}test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt> <tt class="py-line"> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt> <tt class="py-line"> <tt id="link-1763" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1763', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1764" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1764', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1765" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1765', 'xml', 'link-64');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt> <tt class="py-line"> <tt id="link-1766" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1766', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1767" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1767', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1768" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1768', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt> <tt class="py-line"> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt> <tt class="py-line"> <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt id="link-1769" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1769', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1770" class="py-name" targets="Method lxml.etree._Element.xpath()=lxml.etree._Element-class.html#xpath,Method lxml.etree._ElementTree.xpath()=lxml.etree._ElementTree-class.html#xpath,Function lxml.tests.test_xpathevaluator.xpath()=lxml.tests.test_xpathevaluator-module.html#xpath"><a title="lxml.etree._Element.xpath
lxml.etree._ElementTree.xpath
-lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1735', 'xpath', 'link-1735');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">"//@py:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">pytype_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L1903"></a><tt class="py-lineno">1903</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"py"</tt> <tt class="py-op">:</tt> <tt class="py-name">pytype_ns</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1904"></a><tt class="py-lineno">1904</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1905"></a><tt class="py-lineno">1905</tt> <tt class="py-line"> <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt id="link-1736" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1736', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1737" class="py-name"><a title="lxml.etree._Element.xpath
+lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1770', 'xpath', 'link-1770');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">"//@py:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">pytype_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"py"</tt> <tt class="py-op">:</tt> <tt class="py-name">pytype_ns</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt> <tt class="py-line"> <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt id="link-1771" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1771', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1772" class="py-name"><a title="lxml.etree._Element.xpath
lxml.etree._ElementTree.xpath
-lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1737', 'xpath', 'link-1735');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">"//@py:test"</tt><tt class="py-op">,</tt> </tt>
-<a name="L1906"></a><tt class="py-lineno">1906</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"py"</tt> <tt class="py-op">:</tt> <tt class="py-string">"TEST"</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1907"></a><tt class="py-lineno">1907</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1908"></a><tt class="py-lineno">1908</tt> <tt class="py-line"> </tt>
-<a name="L1909"></a><tt class="py-lineno">1909</tt> <tt class="py-line"> <tt id="link-1738" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1738', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1739" class="py-name"><a title="lxml.objectify.set_pytype_attribute_tag" class="py-name" href="#" onclick="return doclink('link-1739', 'set_pytype_attribute_tag', 'link-94');">set_pytype_attribute_tag</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1910"></a><tt class="py-lineno">1910</tt> <tt class="py-line"> <tt class="py-name">pytype_ns</tt><tt class="py-op">,</tt> <tt class="py-name">pytype_name</tt> <tt class="py-op">=</tt> <tt id="link-1740" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1740', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1741" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1741', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'}'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1911"></a><tt class="py-lineno">1911</tt> <tt class="py-line"> </tt>
-<a name="L1912"></a><tt class="py-lineno">1912</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">,</tt> <tt class="py-name">pytype_ns</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1913"></a><tt class="py-lineno">1913</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">,</tt> <tt class="py-name">pytype_name</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1914"></a><tt class="py-lineno">1914</tt> <tt class="py-line"> </tt>
-<a name="L1915"></a><tt class="py-lineno">1915</tt> <tt class="py-line"> <tt id="link-1742" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1742', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1743" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1743', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1744" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1744', 'xml', 'link-64');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1916"></a><tt class="py-lineno">1916</tt> <tt class="py-line"> <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt id="link-1745" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1745', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1746" class="py-name"><a title="lxml.etree._Element.xpath
+lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1772', 'xpath', 'link-1770');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">"//@py:test"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"py"</tt> <tt class="py-op">:</tt> <tt class="py-string">"TEST"</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt> <tt class="py-line"> </tt>
+<a name="L1953"></a><tt class="py-lineno">1953</tt> <tt class="py-line"> <tt id="link-1773" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1773', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1774" class="py-name"><a title="lxml.objectify.set_pytype_attribute_tag" class="py-name" href="#" onclick="return doclink('link-1774', 'set_pytype_attribute_tag', 'link-94');">set_pytype_attribute_tag</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt> <tt class="py-line"> <tt class="py-name">pytype_ns</tt><tt class="py-op">,</tt> <tt class="py-name">pytype_name</tt> <tt class="py-op">=</tt> <tt id="link-1775" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1775', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1776" class="py-name"><a title="lxml.objectify.PYTYPE_ATTRIBUTE" class="py-name" href="#" onclick="return doclink('link-1776', 'PYTYPE_ATTRIBUTE', 'link-377');">PYTYPE_ATTRIBUTE</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'}'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt> <tt class="py-line"> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">,</tt> <tt class="py-name">pytype_ns</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">,</tt> <tt class="py-name">pytype_name</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt> <tt class="py-line"> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt> <tt class="py-line"> <tt id="link-1777" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1777', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1778" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1778', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1779" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1779', 'xml', 'link-64');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt> <tt class="py-line"> <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt id="link-1780" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1780', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1781" class="py-name"><a title="lxml.etree._Element.xpath
lxml.etree._ElementTree.xpath
-lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1746', 'xpath', 'link-1735');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">"//@py:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">pytype_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L1917"></a><tt class="py-lineno">1917</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"py"</tt> <tt class="py-op">:</tt> <tt class="py-name">pytype_ns</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1918"></a><tt class="py-lineno">1918</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1919"></a><tt class="py-lineno">1919</tt> <tt class="py-line"> </tt>
-<a name="L1920"></a><tt class="py-lineno">1920</tt> <tt class="py-line"> <tt id="link-1747" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1747', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1748" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1748', 'annotate', 'link-1472');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1749" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1749', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1921"></a><tt class="py-lineno">1921</tt> <tt class="py-line"> <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt id="link-1750" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1750', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1751" class="py-name"><a title="lxml.etree._Element.xpath
+lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1781', 'xpath', 'link-1770');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">"//@py:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">pytype_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"py"</tt> <tt class="py-op">:</tt> <tt class="py-name">pytype_ns</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt> <tt class="py-line"> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt> <tt class="py-line"> <tt id="link-1782" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1782', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1783" class="py-name"><a title="lxml.objectify.annotate" class="py-name" href="#" onclick="return doclink('link-1783', 'annotate', 'link-1507');">annotate</a></tt><tt class="py-op">(</tt><tt id="link-1784" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1784', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt> <tt class="py-line"> <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt id="link-1785" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1785', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-1786" class="py-name"><a title="lxml.etree._Element.xpath
lxml.etree._ElementTree.xpath
-lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1751', 'xpath', 'link-1735');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">"//@py:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">pytype_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L1922"></a><tt class="py-lineno">1922</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"py"</tt> <tt class="py-op">:</tt> <tt class="py-name">pytype_ns</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1923"></a><tt class="py-lineno">1923</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1924"></a><tt class="py-lineno">1924</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_registered_types"></a><div id="ObjectifyTestCase.test_registered_types-def"><a name="L1925"></a><tt class="py-lineno">1925</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_registered_types-toggle" onclick="return toggle('ObjectifyTestCase.test_registered_types');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_registered_types">test_registered_types</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_registered_types-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_registered_types-expanded"><a name="L1926"></a><tt class="py-lineno">1926</tt> <tt class="py-line"> <tt class="py-name">orig_types</tt> <tt class="py-op">=</tt> <tt id="link-1752" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1752', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1753" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1753', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1927"></a><tt class="py-lineno">1927</tt> <tt class="py-line"> <tt class="py-name">orig_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1754" class="py-name"><a title="lxml.objectify.PyType.unregister" class="py-name" href="#" onclick="return doclink('link-1754', 'unregister', 'link-99');">unregister</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1928"></a><tt class="py-lineno">1928</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">orig_types</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-1755" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1755', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1756" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1756', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1929"></a><tt class="py-lineno">1929</tt> <tt class="py-line"> </tt>
-<a name="L1930"></a><tt class="py-lineno">1930</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">NewType</tt><tt class="py-op">(</tt><tt class="py-base-class">objectify</tt><tt class="py-op">.</tt><tt class="py-base-class">ObjectifiedDataElement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1931"></a><tt class="py-lineno">1931</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L1932"></a><tt class="py-lineno">1932</tt> <tt class="py-line"> </tt>
-<a name="L1933"></a><tt class="py-lineno">1933</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">checkMyType</tt><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1934"></a><tt class="py-lineno">1934</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-</div><a name="L1935"></a><tt class="py-lineno">1935</tt> <tt class="py-line"> </tt>
-<a name="L1936"></a><tt class="py-lineno">1936</tt> <tt class="py-line"> <tt class="py-name">pytype</tt> <tt class="py-op">=</tt> <tt id="link-1757" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1757', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1758" class="py-name" targets="Class lxml.objectify.PyType=lxml.objectify.PyType-class.html"><a title="lxml.objectify.PyType" class="py-name" href="#" onclick="return doclink('link-1758', 'PyType', 'link-1758');">PyType</a></tt><tt class="py-op">(</tt><tt class="py-string">"mytype"</tt><tt class="py-op">,</tt> <tt class="py-name">checkMyType</tt><tt class="py-op">,</tt> <tt class="py-name">NewType</tt><tt class="py-op">)</tt> </tt>
-<a name="L1937"></a><tt class="py-lineno">1937</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1759" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1759', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1760" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1760', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1938"></a><tt class="py-lineno">1938</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1761" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1761', 'register', 'link-100');">register</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1939"></a><tt class="py-lineno">1939</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt> <tt class="py-keyword">in</tt> <tt id="link-1762" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1762', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1763" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1763', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1940"></a><tt class="py-lineno">1940</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1764" class="py-name"><a title="lxml.objectify.PyType.unregister" class="py-name" href="#" onclick="return doclink('link-1764', 'unregister', 'link-99');">unregister</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1941"></a><tt class="py-lineno">1941</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1765" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1765', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1766" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1766', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1942"></a><tt class="py-lineno">1942</tt> <tt class="py-line"> </tt>
-<a name="L1943"></a><tt class="py-lineno">1943</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1767" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1767', 'register', 'link-100');">register</a></tt><tt class="py-op">(</tt><tt class="py-name">before</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-1768" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1768', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1769" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1769', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1770" class="py-name" targets="Variable lxml.etree.DTD.name=lxml.etree.DTD-class.html#name,Variable lxml.etree._Entity.name=lxml.etree._Entity-class.html#name,Variable lxml.html.InputMixin.name=lxml.html.InputMixin-class.html#name,Variable lxml.objectify.PyType.name=lxml.objectify.PyType-class.html#name"><a title="lxml.etree.DTD.name
+lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1786', 'xpath', 'link-1770');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">"//@py:%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">pytype_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt> <tt class="py-line"> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"py"</tt> <tt class="py-op">:</tt> <tt class="py-name">pytype_ns</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1968"></a><tt class="py-lineno">1968</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_registered_types"></a><div id="ObjectifyTestCase.test_registered_types-def"><a name="L1969"></a><tt class="py-lineno">1969</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_registered_types-toggle" onclick="return toggle('ObjectifyTestCase.test_registered_types');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_registered_types">test_registered_types</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_registered_types-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_registered_types-expanded"><a name="L1970"></a><tt class="py-lineno">1970</tt> <tt class="py-line"> <tt class="py-name">orig_types</tt> <tt class="py-op">=</tt> <tt id="link-1787" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1787', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1788" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1788', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt> <tt class="py-line"> <tt class="py-name">orig_types</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1789" class="py-name"><a title="lxml.objectify.PyType.unregister" class="py-name" href="#" onclick="return doclink('link-1789', 'unregister', 'link-99');">unregister</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">orig_types</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-1790" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1790', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1791" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1791', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt> <tt class="py-line"> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">NewType</tt><tt class="py-op">(</tt><tt class="py-base-class">objectify</tt><tt class="py-op">.</tt><tt class="py-base-class">ObjectifiedDataElement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L1976"></a><tt class="py-lineno">1976</tt> <tt class="py-line"> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">checkMyType</tt><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L1979"></a><tt class="py-lineno">1979</tt> <tt class="py-line"> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt> <tt class="py-line"> <tt class="py-name">pytype</tt> <tt class="py-op">=</tt> <tt id="link-1792" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1792', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1793" class="py-name" targets="Class lxml.objectify.PyType=lxml.objectify.PyType-class.html"><a title="lxml.objectify.PyType" class="py-name" href="#" onclick="return doclink('link-1793', 'PyType', 'link-1793');">PyType</a></tt><tt class="py-op">(</tt><tt class="py-string">"mytype"</tt><tt class="py-op">,</tt> <tt class="py-name">checkMyType</tt><tt class="py-op">,</tt> <tt class="py-name">NewType</tt><tt class="py-op">)</tt> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1794" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1794', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1795" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1795', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1796" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1796', 'register', 'link-100');">register</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt> <tt class="py-keyword">in</tt> <tt id="link-1797" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1797', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1798" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1798', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1799" class="py-name"><a title="lxml.objectify.PyType.unregister" class="py-name" href="#" onclick="return doclink('link-1799', 'unregister', 'link-99');">unregister</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1985"></a><tt class="py-lineno">1985</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1800" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1800', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1801" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1801', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1986"></a><tt class="py-lineno">1986</tt> <tt class="py-line"> </tt>
+<a name="L1987"></a><tt class="py-lineno">1987</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1802" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1802', 'register', 'link-100');">register</a></tt><tt class="py-op">(</tt><tt class="py-name">before</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-1803" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1803', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1804" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1804', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1805" class="py-name" targets="Variable lxml.etree.DTD.name=lxml.etree.DTD-class.html#name,Variable lxml.etree._Entity.name=lxml.etree._Entity-class.html#name,Variable lxml.html.InputMixin.name=lxml.html.InputMixin-class.html#name,Variable lxml.objectify.PyType.name=lxml.objectify.PyType-class.html#name"><a title="lxml.etree.DTD.name
lxml.etree._Entity.name
lxml.html.InputMixin.name
-lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1770', 'name', 'link-1770');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1944"></a><tt class="py-lineno">1944</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1771" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1771', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1772" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1772', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1945"></a><tt class="py-lineno">1945</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1773" class="py-name"><a title="lxml.objectify.PyType.unregister" class="py-name" href="#" onclick="return doclink('link-1773', 'unregister', 'link-99');">unregister</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1946"></a><tt class="py-lineno">1946</tt> <tt class="py-line"> </tt>
-<a name="L1947"></a><tt class="py-lineno">1947</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1774" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1774', 'register', 'link-100');">register</a></tt><tt class="py-op">(</tt><tt class="py-name">after</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-1775" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1775', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1776" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1776', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1777" class="py-name"><a title="lxml.etree.DTD.name
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1805', 'name', 'link-1805');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1988"></a><tt class="py-lineno">1988</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1806" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1806', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1807" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1807', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1808" class="py-name"><a title="lxml.objectify.PyType.unregister" class="py-name" href="#" onclick="return doclink('link-1808', 'unregister', 'link-99');">unregister</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt> <tt class="py-line"> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1809" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1809', 'register', 'link-100');">register</a></tt><tt class="py-op">(</tt><tt class="py-name">after</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-1810" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1810', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1811" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1811', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1812" class="py-name"><a title="lxml.etree.DTD.name
lxml.etree._Entity.name
lxml.html.InputMixin.name
-lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1777', 'name', 'link-1770');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1948"></a><tt class="py-lineno">1948</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1778" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1778', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1779" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1779', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1949"></a><tt class="py-lineno">1949</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1780" class="py-name"><a title="lxml.objectify.PyType.unregister" class="py-name" href="#" onclick="return doclink('link-1780', 'unregister', 'link-99');">unregister</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1950"></a><tt class="py-lineno">1950</tt> <tt class="py-line"> </tt>
-<a name="L1951"></a><tt class="py-lineno">1951</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1781" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1781', 'register', 'link-100');">register</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1952"></a><tt class="py-lineno">1952</tt> <tt class="py-line"> <tt class="py-name">before</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-1782" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1782', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1783" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1783', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1784" class="py-name"><a title="lxml.etree.DTD.name
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1812', 'name', 'link-1805');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-name">pytype</tt><tt class="py-op">,</tt> <tt id="link-1813" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1813', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1814" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1814', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt> <tt class="py-line"> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1815" class="py-name"><a title="lxml.objectify.PyType.unregister" class="py-name" href="#" onclick="return doclink('link-1815', 'unregister', 'link-99');">unregister</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt> <tt class="py-line"> </tt>
+<a name="L1995"></a><tt class="py-lineno">1995</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">pytype</tt><tt class="py-op">.</tt><tt id="link-1816" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1816', 'register', 'link-100');">register</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1996"></a><tt class="py-lineno">1996</tt> <tt class="py-line"> <tt class="py-name">before</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-1817" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1817', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1818" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1818', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1819" class="py-name"><a title="lxml.etree.DTD.name
lxml.etree._Entity.name
lxml.html.InputMixin.name
-lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1784', 'name', 'link-1770');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L1953"></a><tt class="py-lineno">1953</tt> <tt class="py-line"> <tt class="py-name">after</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-1785" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1785', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1786" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1786', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1787" class="py-name"><a title="lxml.etree.DTD.name
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1819', 'name', 'link-1805');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt> <tt class="py-line"> <tt class="py-name">after</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-1820" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1820', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1821" class="py-name"><a title="lxml.objectify.getRegisteredTypes" class="py-name" href="#" onclick="return doclink('link-1821', 'getRegisteredTypes', 'link-89');">getRegisteredTypes</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1822" class="py-name"><a title="lxml.etree.DTD.name
lxml.etree._Entity.name
lxml.html.InputMixin.name
-lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1787', 'name', 'link-1770');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1954"></a><tt class="py-lineno">1954</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_registered_type_stringify"></a><div id="ObjectifyTestCase.test_registered_type_stringify-def"><a name="L1955"></a><tt class="py-lineno">1955</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_registered_type_stringify-toggle" onclick="return toggle('ObjectifyTestCase.test_registered_type_stringify');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_registered_type_stringify">test_registered_type_stringify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_registered_type_stringify-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_registered_type_stringify-expanded"><a name="L1956"></a><tt class="py-lineno">1956</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">datetime</tt> <tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
-<a name="L1957"></a><tt class="py-lineno">1957</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1958"></a><tt class="py-lineno">1958</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-1788" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1822', 'name', 'link-1805');">name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1998"></a><tt class="py-lineno">1998</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_registered_type_stringify"></a><div id="ObjectifyTestCase.test_registered_type_stringify-def"><a name="L1999"></a><tt class="py-lineno">1999</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_registered_type_stringify-toggle" onclick="return toggle('ObjectifyTestCase.test_registered_type_stringify');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_registered_type_stringify">test_registered_type_stringify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_registered_type_stringify-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_registered_type_stringify-expanded"><a name="L2000"></a><tt class="py-lineno">2000</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">datetime</tt> <tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-1823" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1788', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">14</tt><tt class="py-op">:</tt> </tt>
-<a name="L1959"></a><tt class="py-lineno">1959</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt id="link-1789" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1823', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">14</tt><tt class="py-op">:</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt id="link-1824" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1789', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1960"></a><tt class="py-lineno">1960</tt> <tt class="py-line"> <tt class="py-name">Y</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1790" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1824', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt> <tt class="py-line"> <tt class="py-name">Y</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1825" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1790', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1961"></a><tt class="py-lineno">1961</tt> <tt class="py-line"> <tt class="py-name">M</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1791" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1825', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt> <tt class="py-line"> <tt class="py-name">M</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1826" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1791', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1962"></a><tt class="py-lineno">1962</tt> <tt class="py-line"> <tt class="py-name">D</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1792" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1826', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">6</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2006"></a><tt class="py-lineno">2006</tt> <tt class="py-line"> <tt class="py-name">D</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1827" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1792', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">6</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1963"></a><tt class="py-lineno">1963</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1793" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1827', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">6</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2007"></a><tt class="py-lineno">2007</tt> <tt class="py-line"> <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1828" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1793', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">:</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1964"></a><tt class="py-lineno">1964</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1794" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1828', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">:</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2008"></a><tt class="py-lineno">2008</tt> <tt class="py-line"> <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1829" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1794', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">:</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1965"></a><tt class="py-lineno">1965</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1795" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1829', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">:</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-1830" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1795', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">:</tt><tt class="py-number">14</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1966"></a><tt class="py-lineno">1966</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">datetime</tt><tt class="py-op">(</tt><tt class="py-name">Y</tt><tt class="py-op">,</tt> <tt class="py-name">M</tt><tt class="py-op">,</tt> <tt class="py-name">D</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1967"></a><tt class="py-lineno">1967</tt> <tt class="py-line"> </tt>
-<a name="L1968"></a><tt class="py-lineno">1968</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-param">date</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1969"></a><tt class="py-lineno">1969</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">date</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%Y%m%d%H%M%S"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1970"></a><tt class="py-lineno">1970</tt> <tt class="py-line"> </tt>
-<a name="L1971"></a><tt class="py-lineno">1971</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">DatetimeElement</tt><tt class="py-op">(</tt><tt class="py-base-class">objectify</tt><tt class="py-op">.</tt><tt class="py-base-class">ObjectifiedDataElement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1972"></a><tt class="py-lineno">1972</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">pyval</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1973"></a><tt class="py-lineno">1973</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1796" class="py-name"><a title="lxml.etree.QName.text
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-1830', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">:</tt><tt class="py-number">14</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">datetime</tt><tt class="py-op">(</tt><tt class="py-name">Y</tt><tt class="py-op">,</tt> <tt class="py-name">M</tt><tt class="py-op">,</tt> <tt class="py-name">D</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2011"></a><tt class="py-lineno">2011</tt> <tt class="py-line"> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-param">date</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">date</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%Y%m%d%H%M%S"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2014"></a><tt class="py-lineno">2014</tt> <tt class="py-line"> </tt>
+<a name="L2015"></a><tt class="py-lineno">2015</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">DatetimeElement</tt><tt class="py-op">(</tt><tt class="py-base-class">objectify</tt><tt class="py-op">.</tt><tt class="py-base-class">ObjectifiedDataElement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2016"></a><tt class="py-lineno">2016</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">pyval</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1831" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1796', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1974"></a><tt class="py-lineno">1974</tt> <tt class="py-line"> <tt id="link-1797" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1831', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2018"></a><tt class="py-lineno">2018</tt> <tt class="py-line"> <tt id="link-1832" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1797', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-1798" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1832', 'pyval', 'link-360');">pyval</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-1833" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1798', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1975"></a><tt class="py-lineno">1975</tt> <tt class="py-line"> </tt>
-<a name="L1976"></a><tt class="py-lineno">1976</tt> <tt class="py-line"> <tt class="py-name">datetime_type</tt> <tt class="py-op">=</tt> <tt id="link-1799" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1799', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1800" class="py-name"><a title="lxml.objectify.PyType" class="py-name" href="#" onclick="return doclink('link-1800', 'PyType', 'link-1758');">PyType</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L1977"></a><tt class="py-lineno">1977</tt> <tt class="py-line"> <tt class="py-string">"datetime"</tt><tt class="py-op">,</tt> <tt class="py-name">parse_date</tt><tt class="py-op">,</tt> <tt class="py-name">DatetimeElement</tt><tt class="py-op">,</tt> <tt class="py-name">stringify_date</tt><tt class="py-op">)</tt> </tt>
-<a name="L1978"></a><tt class="py-lineno">1978</tt> <tt class="py-line"> <tt class="py-name">datetime_type</tt><tt class="py-op">.</tt><tt id="link-1801" class="py-name" targets="Variable lxml.objectify.PyType.xmlSchemaTypes=lxml.objectify.PyType-class.html#xmlSchemaTypes"><a title="lxml.objectify.PyType.xmlSchemaTypes" class="py-name" href="#" onclick="return doclink('link-1801', 'xmlSchemaTypes', 'link-1801');">xmlSchemaTypes</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"dateTime"</tt> </tt>
-<a name="L1979"></a><tt class="py-lineno">1979</tt> <tt class="py-line"> <tt class="py-name">datetime_type</tt><tt class="py-op">.</tt><tt id="link-1802" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1802', 'register', 'link-100');">register</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1980"></a><tt class="py-lineno">1980</tt> <tt class="py-line"> </tt>
-<a name="L1981"></a><tt class="py-lineno">1981</tt> <tt class="py-line"> <tt id="link-1803" class="py-name" targets="Variable lxml.etree.ErrorDomains.NAMESPACE=lxml.etree.ErrorDomains-class.html#NAMESPACE"><a title="lxml.etree.ErrorDomains.NAMESPACE" class="py-name" href="#" onclick="return doclink('link-1803', 'NAMESPACE', 'link-1803');">NAMESPACE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"http://foo.net/xmlns"</tt> </tt>
-<a name="L1982"></a><tt class="py-lineno">1982</tt> <tt class="py-line"> <tt class="py-name">NAMESPACE_MAP</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'ns'</tt><tt class="py-op">:</tt> <tt id="link-1804" class="py-name"><a title="lxml.etree.ErrorDomains.NAMESPACE" class="py-name" href="#" onclick="return doclink('link-1804', 'NAMESPACE', 'link-1803');">NAMESPACE</a></tt><tt class="py-op">}</tt> </tt>
-<a name="L1983"></a><tt class="py-lineno">1983</tt> <tt class="py-line"> </tt>
-<a name="L1984"></a><tt class="py-lineno">1984</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt id="link-1805" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1805', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1806" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1833', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2019"></a><tt class="py-lineno">2019</tt> <tt class="py-line"> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt> <tt class="py-line"> <tt class="py-name">datetime_type</tt> <tt class="py-op">=</tt> <tt id="link-1834" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1834', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1835" class="py-name"><a title="lxml.objectify.PyType" class="py-name" href="#" onclick="return doclink('link-1835', 'PyType', 'link-1793');">PyType</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt> <tt class="py-line"> <tt class="py-string">"datetime"</tt><tt class="py-op">,</tt> <tt class="py-name">parse_date</tt><tt class="py-op">,</tt> <tt class="py-name">DatetimeElement</tt><tt class="py-op">,</tt> <tt class="py-name">stringify_date</tt><tt class="py-op">)</tt> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt> <tt class="py-line"> <tt class="py-name">datetime_type</tt><tt class="py-op">.</tt><tt id="link-1836" class="py-name" targets="Variable lxml.objectify.PyType.xmlSchemaTypes=lxml.objectify.PyType-class.html#xmlSchemaTypes"><a title="lxml.objectify.PyType.xmlSchemaTypes" class="py-name" href="#" onclick="return doclink('link-1836', 'xmlSchemaTypes', 'link-1836');">xmlSchemaTypes</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"dateTime"</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt> <tt class="py-line"> <tt class="py-name">datetime_type</tt><tt class="py-op">.</tt><tt id="link-1837" class="py-name"><a title="lxml.objectify.PyType.register" class="py-name" href="#" onclick="return doclink('link-1837', 'register', 'link-100');">register</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt> <tt class="py-line"> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt> <tt class="py-line"> <tt id="link-1838" class="py-name" targets="Variable lxml.etree.ErrorDomains.NAMESPACE=lxml.etree.ErrorDomains-class.html#NAMESPACE"><a title="lxml.etree.ErrorDomains.NAMESPACE" class="py-name" href="#" onclick="return doclink('link-1838', 'NAMESPACE', 'link-1838');">NAMESPACE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"http://foo.net/xmlns"</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt> <tt class="py-line"> <tt class="py-name">NAMESPACE_MAP</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'ns'</tt><tt class="py-op">:</tt> <tt id="link-1839" class="py-name"><a title="lxml.etree.ErrorDomains.NAMESPACE" class="py-name" href="#" onclick="return doclink('link-1839', 'NAMESPACE', 'link-1838');">NAMESPACE</a></tt><tt class="py-op">}</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt> <tt class="py-line"> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt> <tt class="py-line"> <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt id="link-1840" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1840', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1841" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1806', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{%s}root"</tt> <tt class="py-op">%</tt> <tt id="link-1807" class="py-name"><a title="lxml.etree.ErrorDomains.NAMESPACE" class="py-name" href="#" onclick="return doclink('link-1807', 'NAMESPACE', 'link-1803');">NAMESPACE</a></tt><tt class="py-op">,</tt> <tt id="link-1808" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-1808', 'nsmap', 'link-105');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">NAMESPACE_MAP</tt><tt class="py-op">)</tt> </tt>
-<a name="L1985"></a><tt class="py-lineno">1985</tt> <tt class="py-line"> <tt class="py-name">time</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1986"></a><tt class="py-lineno">1986</tt> <tt class="py-line"> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt> </tt>
-<a name="L1987"></a><tt class="py-lineno">1987</tt> <tt class="py-line"> </tt>
-<a name="L1988"></a><tt class="py-lineno">1988</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">,</tt> <tt class="py-name">DatetimeElement</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1989"></a><tt class="py-lineno">1989</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1809" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1841', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{%s}root"</tt> <tt class="py-op">%</tt> <tt id="link-1842" class="py-name"><a title="lxml.etree.ErrorDomains.NAMESPACE" class="py-name" href="#" onclick="return doclink('link-1842', 'NAMESPACE', 'link-1838');">NAMESPACE</a></tt><tt class="py-op">,</tt> <tt id="link-1843" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-1843', 'nsmap', 'link-105');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">NAMESPACE_MAP</tt><tt class="py-op">)</tt> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt> <tt class="py-line"> <tt class="py-name">time</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt> <tt class="py-line"> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt> <tt class="py-line"> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">,</tt> <tt class="py-name">DatetimeElement</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2033"></a><tt class="py-lineno">2033</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1844" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1809', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">datetime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1990"></a><tt class="py-lineno">1990</tt> <tt class="py-line"> </tt>
-<a name="L1991"></a><tt class="py-lineno">1991</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1810" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1844', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">datetime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2034"></a><tt class="py-lineno">2034</tt> <tt class="py-line"> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1845" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1810', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1992"></a><tt class="py-lineno">1992</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1811" class="py-name"><a title="lxml.etree.QName.text
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1845', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1846" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1811', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1993"></a><tt class="py-lineno">1993</tt> <tt class="py-line"> </tt>
-<a name="L1994"></a><tt class="py-lineno">1994</tt> <tt class="py-line"> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt id="link-1812" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1812', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1813" class="py-name" targets="Variable lxml.builder.E=lxml.builder-module.html#E,Variable lxml.html.builder.E=lxml.html.builder-module.html#E,Variable lxml.objectify.E=lxml.objectify-module.html#E"><a title="lxml.builder.E
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1846', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt> <tt class="py-line"> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt> <tt class="py-line"> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt id="link-1847" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1847', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1848" class="py-name" targets="Variable lxml.builder.E=lxml.builder-module.html#E,Variable lxml.html.builder.E=lxml.html.builder-module.html#E,Variable lxml.objectify.E=lxml.objectify-module.html#E"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-1813', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt> </tt>
-<a name="L1995"></a><tt class="py-lineno">1995</tt> <tt class="py-line"> </tt>
-<a name="L1996"></a><tt class="py-lineno">1996</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">,</tt> <tt class="py-name">DatetimeElement</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1997"></a><tt class="py-lineno">1997</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1814" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-1848', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt> <tt class="py-line"> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">,</tt> <tt class="py-name">DatetimeElement</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1849" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1814', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">datetime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1998"></a><tt class="py-lineno">1998</tt> <tt class="py-line"> </tt>
-<a name="L1999"></a><tt class="py-lineno">1999</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1815" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1849', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">datetime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt> <tt class="py-line"> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1850" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1815', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2000"></a><tt class="py-lineno">2000</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1816" class="py-name"><a title="lxml.etree.QName.text
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1850', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1851" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1816', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2001"></a><tt class="py-lineno">2001</tt> <tt class="py-line"> </tt>
-<a name="L2002"></a><tt class="py-lineno">2002</tt> <tt class="py-line"> <tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt id="link-1817" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1817', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1818" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1818', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt> </tt>
-<a name="L2003"></a><tt class="py-lineno">2003</tt> <tt class="py-line"> </tt>
-<a name="L2004"></a><tt class="py-lineno">2004</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">,</tt> <tt class="py-name">DatetimeElement</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2005"></a><tt class="py-lineno">2005</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1819" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1851', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt> <tt class="py-line"> </tt>
+<a name="L2046"></a><tt class="py-lineno">2046</tt> <tt class="py-line"> <tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt id="link-1852" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1852', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1853" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-1853', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt> </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt> <tt class="py-line"> </tt>
+<a name="L2048"></a><tt class="py-lineno">2048</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">,</tt> <tt class="py-name">DatetimeElement</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1854" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1819', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">datetime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2006"></a><tt class="py-lineno">2006</tt> <tt class="py-line"> </tt>
-<a name="L2007"></a><tt class="py-lineno">2007</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1820" class="py-name"><a title="lxml.objectify.BoolElement.pyval
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1854', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">datetime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt> <tt class="py-line"> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1855" class="py-name"><a title="lxml.objectify.BoolElement.pyval
lxml.objectify.NoneElement.pyval
lxml.objectify.NumberElement.pyval
lxml.objectify.ObjectifiedDataElement.pyval
-lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1820', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2008"></a><tt class="py-lineno">2008</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1821" class="py-name"><a title="lxml.etree.QName.text
+lxml.objectify.StringElement.pyval" class="py-name" href="#" onclick="return doclink('link-1855', 'pyval', 'link-360');">pyval</a></tt><tt class="py-op">,</tt> <tt class="py-name">parse_date</tt><tt class="py-op">(</tt><tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2052"></a><tt class="py-lineno">2052</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">.</tt><tt id="link-1856" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1821', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2009"></a><tt class="py-lineno">2009</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path"></a><div id="ObjectifyTestCase.test_object_path-def"><a name="L2010"></a><tt class="py-lineno">2010</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path">test_object_path</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path-expanded"><a name="L2011"></a><tt class="py-lineno">2011</tt> <tt class="py-line"> <tt id="link-1822" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1822', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1823" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1856', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">stringify_date</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2053"></a><tt class="py-lineno">2053</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path"></a><div id="ObjectifyTestCase.test_object_path-def"><a name="L2054"></a><tt class="py-lineno">2054</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path">test_object_path</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path-expanded"><a name="L2055"></a><tt class="py-lineno">2055</tt> <tt class="py-line"> <tt id="link-1857" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1857', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1858" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1823', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1824" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1858', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1859" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1824', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2012"></a><tt class="py-lineno">2012</tt> <tt class="py-line"> <tt id="link-1825" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1825', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1826" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1826', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1827" class="py-name" targets="Class lxml.objectify.ObjectPath=lxml.objectify.ObjectPath-class.html"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1827', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2013"></a><tt class="py-lineno">2013</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1828" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1828', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1829" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1859', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt> <tt class="py-line"> <tt id="link-1860" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1860', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1861" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1861', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1862" class="py-name" targets="Class lxml.objectify.ObjectPath=lxml.objectify.ObjectPath-class.html"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1862', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1863" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1863', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1864" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1829', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1830" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1830', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1831" class="py-name" targets="Method lxml.etree._Element.find()=lxml.etree._Element-class.html#find,Method lxml.etree._ElementTree.find()=lxml.etree._ElementTree-class.html#find,Variable lxml.objectify.ObjectPath.find=lxml.objectify.ObjectPath-class.html#find,Function lxml.tests.selftest.find()=lxml.tests.selftest-module.html#find,Function lxml.tests.selftest2.find()=lxml.tests.selftest2-module.html#find"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1864', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1865" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1865', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1866" class="py-name" targets="Method lxml.etree._Element.find()=lxml.etree._Element-class.html#find,Method lxml.etree._ElementTree.find()=lxml.etree._ElementTree-class.html#find,Variable lxml.objectify.ObjectPath.find=lxml.objectify.ObjectPath-class.html#find,Function lxml.tests.selftest.find()=lxml.tests.selftest-module.html#find,Function lxml.tests.selftest2.find()=lxml.tests.selftest2-module.html#find"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-1831', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-1832" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1832', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1833" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-1866', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-1867" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1867', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1868" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1833', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2014"></a><tt class="py-lineno">2014</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1834" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1834', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1835" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1868', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1869" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1869', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1870" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1835', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1836" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1836', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1837" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1837', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1838" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1870', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1871" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1871', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1872" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1872', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1873" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1838', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2015"></a><tt class="py-lineno">2015</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_list"></a><div id="ObjectifyTestCase.test_object_path_list-def"><a name="L2016"></a><tt class="py-lineno">2016</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_list">test_object_path_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_list-expanded"><a name="L2017"></a><tt class="py-lineno">2017</tt> <tt class="py-line"> <tt id="link-1839" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1839', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1840" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1873', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2059"></a><tt class="py-lineno">2059</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_list"></a><div id="ObjectifyTestCase.test_object_path_list-def"><a name="L2060"></a><tt class="py-lineno">2060</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_list">test_object_path_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_list-expanded"><a name="L2061"></a><tt class="py-lineno">2061</tt> <tt class="py-line"> <tt id="link-1874" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1874', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1875" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1840', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1841" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1875', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1876" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1841', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2018"></a><tt class="py-lineno">2018</tt> <tt class="py-line"> <tt id="link-1842" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1842', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1843" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1843', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1844" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1844', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2019"></a><tt class="py-lineno">2019</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1845" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1845', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1846" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1876', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2062"></a><tt class="py-lineno">2062</tt> <tt class="py-line"> <tt id="link-1877" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1877', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1878" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1878', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1879" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1879', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2063"></a><tt class="py-lineno">2063</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1880" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1880', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1881" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1846', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1847" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1847', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1848" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1881', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1882" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1882', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1883" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-1848', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-1849" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1849', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1850" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-1883', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-1884" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1884', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1885" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1850', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2020"></a><tt class="py-lineno">2020</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1851" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1851', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1852" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1885', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1886" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1886', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1887" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1852', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1853" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1853', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1854" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1854', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1855" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1887', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1888" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1888', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1889" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1889', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1890" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1855', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2021"></a><tt class="py-lineno">2021</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_fail"></a><div id="ObjectifyTestCase.test_object_path_fail-def"><a name="L2022"></a><tt class="py-lineno">2022</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_fail-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_fail');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail">test_object_path_fail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_fail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_fail-expanded"><a name="L2023"></a><tt class="py-lineno">2023</tt> <tt class="py-line"> <tt id="link-1856" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1856', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1857" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1890', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2065"></a><tt class="py-lineno">2065</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_fail"></a><div id="ObjectifyTestCase.test_object_path_fail-def"><a name="L2066"></a><tt class="py-lineno">2066</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_fail-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_fail');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail">test_object_path_fail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_fail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_fail-expanded"><a name="L2067"></a><tt class="py-lineno">2067</tt> <tt class="py-line"> <tt id="link-1891" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1891', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1892" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1857', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1858" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1892', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1893" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1858', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2024"></a><tt class="py-lineno">2024</tt> <tt class="py-line"> <tt id="link-1859" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1859', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1860" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1860', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1861" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1861', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2025"></a><tt class="py-lineno">2025</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-1862" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1862', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-1863" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1863', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2026"></a><tt class="py-lineno">2026</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_default_absolute"></a><div id="ObjectifyTestCase.test_object_path_default_absolute-def"><a name="L2027"></a><tt class="py-lineno">2027</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_default_absolute-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_default_absolute');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_absolute">test_object_path_default_absolute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_default_absolute-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_default_absolute-expanded"><a name="L2028"></a><tt class="py-lineno">2028</tt> <tt class="py-line"> <tt id="link-1864" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1864', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1865" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1893', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2068"></a><tt class="py-lineno">2068</tt> <tt class="py-line"> <tt id="link-1894" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1894', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1895" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1895', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1896" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1896', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-1897" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1897', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-1898" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1898', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2070"></a><tt class="py-lineno">2070</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_default_absolute"></a><div id="ObjectifyTestCase.test_object_path_default_absolute-def"><a name="L2071"></a><tt class="py-lineno">2071</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_default_absolute-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_default_absolute');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_absolute">test_object_path_default_absolute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_default_absolute-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_default_absolute-expanded"><a name="L2072"></a><tt class="py-lineno">2072</tt> <tt class="py-line"> <tt id="link-1899" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1899', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1900" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1865', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1866" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1900', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1901" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1866', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2029"></a><tt class="py-lineno">2029</tt> <tt class="py-line"> <tt id="link-1867" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1867', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1868" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1868', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1869" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1869', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2030"></a><tt class="py-lineno">2030</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1870" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1870', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1871" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1871', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2031"></a><tt class="py-lineno">2031</tt> <tt class="py-line"> <tt id="link-1872" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1872', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1873" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1873', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1874" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1874', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c99.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2032"></a><tt class="py-lineno">2032</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1875" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1875', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1876" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1876', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2033"></a><tt class="py-lineno">2033</tt> <tt class="py-line"> <tt id="link-1877" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1877', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1878" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1878', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1879" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1879', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"notroot.c99.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2034"></a><tt class="py-lineno">2034</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1880" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1880', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1881" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1881', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2035"></a><tt class="py-lineno">2035</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_default_relative"></a><div id="ObjectifyTestCase.test_object_path_default_relative-def"><a name="L2036"></a><tt class="py-lineno">2036</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_default_relative-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_default_relative');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_relative">test_object_path_default_relative</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_default_relative-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_default_relative-expanded"><a name="L2037"></a><tt class="py-lineno">2037</tt> <tt class="py-line"> <tt id="link-1882" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1882', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1883" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1883', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1884" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1901', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt> <tt class="py-line"> <tt id="link-1902" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1902', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1903" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1903', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1904" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1904', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1905" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1905', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1906" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1906', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt> <tt class="py-line"> <tt id="link-1907" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1907', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1908" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1908', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1909" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1909', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c99.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1910" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1910', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1911" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1911', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt> <tt class="py-line"> <tt id="link-1912" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1912', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1913" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1913', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1914" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1914', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"notroot.c99.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1915" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1915', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1916" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1916', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2079"></a><tt class="py-lineno">2079</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_default_relative"></a><div id="ObjectifyTestCase.test_object_path_default_relative-def"><a name="L2080"></a><tt class="py-lineno">2080</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_default_relative-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_default_relative');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_default_relative">test_object_path_default_relative</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_default_relative-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_default_relative-expanded"><a name="L2081"></a><tt class="py-lineno">2081</tt> <tt class="py-line"> <tt id="link-1917" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1917', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1918" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1918', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1919" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1884', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2038"></a><tt class="py-lineno">2038</tt> <tt class="py-line"> <tt id="link-1885" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1885', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1886" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1886', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1887" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1887', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">".c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2039"></a><tt class="py-lineno">2039</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1888" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1888', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1889" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1889', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2040"></a><tt class="py-lineno">2040</tt> <tt class="py-line"> <tt id="link-1890" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1890', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1891" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1891', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1892" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1892', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">".c99.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2041"></a><tt class="py-lineno">2041</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1893" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1893', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1894" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1894', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2042"></a><tt class="py-lineno">2042</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_syntax"></a><div id="ObjectifyTestCase.test_object_path_syntax-def"><a name="L2043"></a><tt class="py-lineno">2043</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_syntax-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_syntax');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_syntax">test_object_path_syntax</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_syntax-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_syntax-expanded"><a name="L2044"></a><tt class="py-lineno">2044</tt> <tt class="py-line"> <tt id="link-1895" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1895', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1896" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1919', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt> <tt class="py-line"> <tt id="link-1920" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1920', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1921" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1921', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1922" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1922', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">".c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1923" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1923', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1924" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1924', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt> <tt class="py-line"> <tt id="link-1925" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1925', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1926" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1926', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1927" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1927', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">".c99.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-1928" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1928', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1929" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1929', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2086"></a><tt class="py-lineno">2086</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_syntax"></a><div id="ObjectifyTestCase.test_object_path_syntax-def"><a name="L2087"></a><tt class="py-lineno">2087</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_syntax-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_syntax');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_syntax">test_object_path_syntax</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_syntax-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_syntax-expanded"><a name="L2088"></a><tt class="py-lineno">2088</tt> <tt class="py-line"> <tt id="link-1930" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1930', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1931" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1896', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1897" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1931', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1932" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1897', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2045"></a><tt class="py-lineno">2045</tt> <tt class="py-line"> <tt id="link-1898" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1898', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1899" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1899', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1900" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1900', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root . {objectified}c1. c2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2046"></a><tt class="py-lineno">2046</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1901" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1901', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1902" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1932', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt> <tt class="py-line"> <tt id="link-1933" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1933', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1934" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1934', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1935" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1935', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root . {objectified}c1. c2"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1936" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1936', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1937" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1902', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1903" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1903', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1904" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1904', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1905" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1937', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1938" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1938', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1939" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1939', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1940" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1905', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2047"></a><tt class="py-lineno">2047</tt> <tt class="py-line"> </tt>
-<a name="L2048"></a><tt class="py-lineno">2048</tt> <tt class="py-line"> <tt id="link-1906" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1906', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1907" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1907', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1908" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1908', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">" root.{objectified} c1.c2 [ 0 ] "</tt><tt class="py-op">)</tt> </tt>
-<a name="L2049"></a><tt class="py-lineno">2049</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1909" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1909', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1910" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1940', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt> <tt class="py-line"> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt> <tt class="py-line"> <tt id="link-1941" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1941', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1942" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1942', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1943" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1943', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">" root.{objectified} c1.c2 [ 0 ] "</tt><tt class="py-op">)</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1944" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1944', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1945" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1910', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1911" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1911', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1912" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1912', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1913" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1945', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1946" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1946', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1947" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1947', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1948" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1913', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2050"></a><tt class="py-lineno">2050</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_fail_parse_empty"></a><div id="ObjectifyTestCase.test_object_path_fail_parse_empty-def"><a name="L2051"></a><tt class="py-lineno">2051</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_fail_parse_empty-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_fail_parse_empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty">test_object_path_fail_parse_empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_fail_parse_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_fail_parse_empty-expanded"><a name="L2052"></a><tt class="py-lineno">2052</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1914" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1914', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1915" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1915', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2053"></a><tt class="py-lineno">2053</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_fail_parse_empty_list"></a><div id="ObjectifyTestCase.test_object_path_fail_parse_empty_list-def"><a name="L2054"></a><tt class="py-lineno">2054</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_fail_parse_empty_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_fail_parse_empty_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty_list">test_object_path_fail_parse_empty_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_fail_parse_empty_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_fail_parse_empty_list-expanded"><a name="L2055"></a><tt class="py-lineno">2055</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1916" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1916', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1917" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1917', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2056"></a><tt class="py-lineno">2056</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_hasattr"></a><div id="ObjectifyTestCase.test_object_path_hasattr-def"><a name="L2057"></a><tt class="py-lineno">2057</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_hasattr-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_hasattr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_hasattr">test_object_path_hasattr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_hasattr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_hasattr-expanded"><a name="L2058"></a><tt class="py-lineno">2058</tt> <tt class="py-line"> <tt id="link-1918" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1918', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1919" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1948', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2094"></a><tt class="py-lineno">2094</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_fail_parse_empty"></a><div id="ObjectifyTestCase.test_object_path_fail_parse_empty-def"><a name="L2095"></a><tt class="py-lineno">2095</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_fail_parse_empty-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_fail_parse_empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty">test_object_path_fail_parse_empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_fail_parse_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_fail_parse_empty-expanded"><a name="L2096"></a><tt class="py-lineno">2096</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1949" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1949', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1950" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1950', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2097"></a><tt class="py-lineno">2097</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_fail_parse_empty_list"></a><div id="ObjectifyTestCase.test_object_path_fail_parse_empty_list-def"><a name="L2098"></a><tt class="py-lineno">2098</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_fail_parse_empty_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_fail_parse_empty_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_fail_parse_empty_list">test_object_path_fail_parse_empty_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_fail_parse_empty_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_fail_parse_empty_list-expanded"><a name="L2099"></a><tt class="py-lineno">2099</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1951" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1951', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1952" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1952', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2100"></a><tt class="py-lineno">2100</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_hasattr"></a><div id="ObjectifyTestCase.test_object_path_hasattr-def"><a name="L2101"></a><tt class="py-lineno">2101</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_hasattr-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_hasattr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_hasattr">test_object_path_hasattr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_hasattr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_hasattr-expanded"><a name="L2102"></a><tt class="py-lineno">2102</tt> <tt class="py-line"> <tt id="link-1953" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1953', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1954" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1919', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1920" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1954', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1955" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1920', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2059"></a><tt class="py-lineno">2059</tt> <tt class="py-line"> <tt id="link-1921" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1921', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1922" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1922', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1923" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1923', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2060"></a><tt class="py-lineno">2060</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1924" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1924', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1925" class="py-name" targets="Method lxml.objectify.ObjectPath.hasattr()=lxml.objectify.ObjectPath-class.html#hasattr"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1925', 'hasattr', 'link-1925');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1926" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1926', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2061"></a><tt class="py-lineno">2061</tt> <tt class="py-line"> <tt id="link-1927" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1927', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1928" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1928', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1929" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1929', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2062"></a><tt class="py-lineno">2062</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1930" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1930', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1931" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1931', 'hasattr', 'link-1925');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1932" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1932', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2063"></a><tt class="py-lineno">2063</tt> <tt class="py-line"> <tt id="link-1933" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1933', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1934" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1934', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1935" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1935', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2064"></a><tt class="py-lineno">2064</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1936" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1936', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1937" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1937', 'hasattr', 'link-1925');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1938" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1938', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2065"></a><tt class="py-lineno">2065</tt> <tt class="py-line"> <tt id="link-1939" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1939', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1940" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1940', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1941" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1941', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.{otherNS}c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2066"></a><tt class="py-lineno">2066</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1942" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1942', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1943" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1943', 'hasattr', 'link-1925');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1944" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1944', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2067"></a><tt class="py-lineno">2067</tt> <tt class="py-line"> <tt id="link-1945" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1945', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1946" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1946', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1947" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1947', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[1]"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2068"></a><tt class="py-lineno">2068</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1948" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1948', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1949" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1949', 'hasattr', 'link-1925');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1950" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1950', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2069"></a><tt class="py-lineno">2069</tt> <tt class="py-line"> <tt id="link-1951" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1951', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1952" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1952', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1953" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1953', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[2]"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2070"></a><tt class="py-lineno">2070</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1954" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1954', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1955" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1955', 'hasattr', 'link-1925');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1956" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1956', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2071"></a><tt class="py-lineno">2071</tt> <tt class="py-line"> <tt id="link-1957" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1957', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1958" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1958', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1959" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1959', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[3]"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2072"></a><tt class="py-lineno">2072</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1960" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1960', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1961" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1961', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1962" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1962', 'hasattr', 'link-1925');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1963" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1963', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2073"></a><tt class="py-lineno">2073</tt> <tt class="py-line"> <tt id="link-1964" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1964', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1965" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1965', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1966" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1966', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1[1].c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2074"></a><tt class="py-lineno">2074</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1967" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1967', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1968" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1968', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1969" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1969', 'hasattr', 'link-1925');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1970" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1970', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2075"></a><tt class="py-lineno">2075</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_dot"></a><div id="ObjectifyTestCase.test_object_path_dot-def"><a name="L2076"></a><tt class="py-lineno">2076</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_dot-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_dot');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot">test_object_path_dot</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_dot-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_dot-expanded"><a name="L2077"></a><tt class="py-lineno">2077</tt> <tt class="py-line"> <tt id="link-1971" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1971', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1972" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1972', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1973" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1955', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt> <tt class="py-line"> <tt id="link-1956" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1956', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1957" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1957', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1958" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1958', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1959" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1959', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1960" class="py-name" targets="Method lxml.objectify.ObjectPath.hasattr()=lxml.objectify.ObjectPath-class.html#hasattr"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1960', 'hasattr', 'link-1960');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1961" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1961', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt> <tt class="py-line"> <tt id="link-1962" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1962', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1963" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1963', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1964" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1964', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2106"></a><tt class="py-lineno">2106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1965" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1965', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1966" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1966', 'hasattr', 'link-1960');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1967" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1967', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2107"></a><tt class="py-lineno">2107</tt> <tt class="py-line"> <tt id="link-1968" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1968', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1969" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1969', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1970" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1970', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1971" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1971', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1972" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1972', 'hasattr', 'link-1960');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1973" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1973', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt> <tt class="py-line"> <tt id="link-1974" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1974', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1975" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1975', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1976" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1976', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.{otherNS}c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1977" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1977', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1978" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1978', 'hasattr', 'link-1960');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1979" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1979', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt> <tt class="py-line"> <tt id="link-1980" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1980', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1981" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1981', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1982" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1982', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[1]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1983" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1983', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1984" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1984', 'hasattr', 'link-1960');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1985" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1985', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt> <tt class="py-line"> <tt id="link-1986" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1986', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1987" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1987', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1988" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1988', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[2]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-1989" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1989', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1990" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1990', 'hasattr', 'link-1960');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1991" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1991', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt> <tt class="py-line"> <tt id="link-1992" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1992', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1993" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1993', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1994" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1994', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[3]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1995" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1995', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1996" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1996', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-1997" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-1997', 'hasattr', 'link-1960');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-1998" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1998', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt> <tt class="py-line"> <tt id="link-1999" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1999', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2000" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2000', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2001" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2001', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1[1].c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2002" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2002', 'assertFalse', 'link-614');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-2003" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2003', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2004" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-2004', 'hasattr', 'link-1960');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-2005" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2005', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2119"></a><tt class="py-lineno">2119</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_dot"></a><div id="ObjectifyTestCase.test_object_path_dot-def"><a name="L2120"></a><tt class="py-lineno">2120</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_dot-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_dot');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot">test_object_path_dot</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_dot-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_dot-expanded"><a name="L2121"></a><tt class="py-lineno">2121</tt> <tt class="py-line"> <tt id="link-2006" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2006', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2007" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2007', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2008" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1973', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2078"></a><tt class="py-lineno">2078</tt> <tt class="py-line"> <tt id="link-1974" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1974', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1975" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1975', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1976" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1976', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"."</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2079"></a><tt class="py-lineno">2079</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1977" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1977', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1978" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2008', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt> <tt class="py-line"> <tt id="link-2009" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2009', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2010" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2010', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2011" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2011', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2123"></a><tt class="py-lineno">2123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2012" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2012', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2013" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1978', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1979" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1979', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1980" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1980', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1981" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2013', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2014" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2014', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2015" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2015', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2016" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1981', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2080"></a><tt class="py-lineno">2080</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_dot_list"></a><div id="ObjectifyTestCase.test_object_path_dot_list-def"><a name="L2081"></a><tt class="py-lineno">2081</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_dot_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_dot_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_list">test_object_path_dot_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_dot_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_dot_list-expanded"><a name="L2082"></a><tt class="py-lineno">2082</tt> <tt class="py-line"> <tt id="link-1982" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1982', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1983" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2016', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2124"></a><tt class="py-lineno">2124</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_dot_list"></a><div id="ObjectifyTestCase.test_object_path_dot_list-def"><a name="L2125"></a><tt class="py-lineno">2125</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_dot_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_dot_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_list">test_object_path_dot_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_dot_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_dot_list-expanded"><a name="L2126"></a><tt class="py-lineno">2126</tt> <tt class="py-line"> <tt id="link-2017" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2017', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2018" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1983', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1984" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2018', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2019" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1984', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2083"></a><tt class="py-lineno">2083</tt> <tt class="py-line"> <tt id="link-1985" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1985', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1986" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1986', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1987" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1987', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2084"></a><tt class="py-lineno">2084</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1988" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1988', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1989" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2019', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt> <tt class="py-line"> <tt id="link-2020" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2020', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2021" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2021', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2022" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2022', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2023" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2023', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2024" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1989', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-1990" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1990', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-1991" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1991', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-1992" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2024', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2025" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2025', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2026" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2026', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2027" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1992', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2085"></a><tt class="py-lineno">2085</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_dot_root"></a><div id="ObjectifyTestCase.test_object_path_dot_root-def"><a name="L2086"></a><tt class="py-lineno">2086</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_dot_root-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_dot_root');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root">test_object_path_dot_root</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_dot_root-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_dot_root-expanded"><a name="L2087"></a><tt class="py-lineno">2087</tt> <tt class="py-line"> <tt id="link-1993" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1993', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1994" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2027', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2129"></a><tt class="py-lineno">2129</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_dot_root"></a><div id="ObjectifyTestCase.test_object_path_dot_root-def"><a name="L2130"></a><tt class="py-lineno">2130</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_dot_root-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_dot_root');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root">test_object_path_dot_root</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_dot_root-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_dot_root-expanded"><a name="L2131"></a><tt class="py-lineno">2131</tt> <tt class="py-line"> <tt id="link-2028" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2028', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2029" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1994', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1995" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2029', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2030" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-1995', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2088"></a><tt class="py-lineno">2088</tt> <tt class="py-line"> <tt id="link-1996" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-1996', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-1997" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-1997', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-1998" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-1998', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">".c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2089"></a><tt class="py-lineno">2089</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1999" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1999', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2000" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2030', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2132"></a><tt class="py-lineno">2132</tt> <tt class="py-line"> <tt id="link-2031" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2031', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2032" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2032', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2033" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2033', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">".c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2034" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2034', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2035" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2000', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2001" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2001', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2002" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2002', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2003" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2035', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2036" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2036', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2037" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2037', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2038" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2003', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2090"></a><tt class="py-lineno">2090</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_dot_root_list"></a><div id="ObjectifyTestCase.test_object_path_dot_root_list-def"><a name="L2091"></a><tt class="py-lineno">2091</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_dot_root_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_dot_root_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root_list">test_object_path_dot_root_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_dot_root_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_dot_root_list-expanded"><a name="L2092"></a><tt class="py-lineno">2092</tt> <tt class="py-line"> <tt id="link-2004" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2004', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2005" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2038', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2134"></a><tt class="py-lineno">2134</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_dot_root_list"></a><div id="ObjectifyTestCase.test_object_path_dot_root_list-def"><a name="L2135"></a><tt class="py-lineno">2135</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_dot_root_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_dot_root_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_dot_root_list">test_object_path_dot_root_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_dot_root_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_dot_root_list-expanded"><a name="L2136"></a><tt class="py-lineno">2136</tt> <tt class="py-line"> <tt id="link-2039" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2039', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2040" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2005', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2006" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2040', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2041" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2006', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2093"></a><tt class="py-lineno">2093</tt> <tt class="py-line"> <tt id="link-2007" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2007', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2008" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2008', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2009" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2009', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2094"></a><tt class="py-lineno">2094</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2010" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2010', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2011" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2041', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2137"></a><tt class="py-lineno">2137</tt> <tt class="py-line"> <tt id="link-2042" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2042', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2043" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2043', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2044" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2044', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2138"></a><tt class="py-lineno">2138</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2045" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2045', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2046" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2011', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2012" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2012', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2013" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2013', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2014" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2046', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2047" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2047', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2048" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2048', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2049" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2014', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2095"></a><tt class="py-lineno">2095</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_index"></a><div id="ObjectifyTestCase.test_object_path_index-def"><a name="L2096"></a><tt class="py-lineno">2096</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_index-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index">test_object_path_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_index-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_index-expanded"><a name="L2097"></a><tt class="py-lineno">2097</tt> <tt class="py-line"> <tt id="link-2015" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2015', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2016" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2049', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2139"></a><tt class="py-lineno">2139</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_index"></a><div id="ObjectifyTestCase.test_object_path_index-def"><a name="L2140"></a><tt class="py-lineno">2140</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_index-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index">test_object_path_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_index-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_index-expanded"><a name="L2141"></a><tt class="py-lineno">2141</tt> <tt class="py-line"> <tt id="link-2050" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2050', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2051" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2016', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2017" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2051', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2052" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2017', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2098"></a><tt class="py-lineno">2098</tt> <tt class="py-line"> <tt id="link-2018" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2018', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2019" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2019', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2020" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2020', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1[0].c2[0]"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2099"></a><tt class="py-lineno">2099</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2021" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2021', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2022" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2052', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt> <tt class="py-line"> <tt id="link-2053" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2053', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2054" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2054', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2055" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2055', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1[0].c2[0]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2056" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2056', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2057" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2022', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2023" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2023', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2024" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2024', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2025" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2057', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2058" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2058', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2059" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2059', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2060" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2025', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2100"></a><tt class="py-lineno">2100</tt> <tt class="py-line"> </tt>
-<a name="L2101"></a><tt class="py-lineno">2101</tt> <tt class="py-line"> <tt id="link-2026" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2026', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2027" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2027', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2028" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2028', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1[0].c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2102"></a><tt class="py-lineno">2102</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2029" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2029', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2030" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2060', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt> <tt class="py-line"> </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt> <tt class="py-line"> <tt id="link-2061" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2061', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2062" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2062', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2063" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2063', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1[0].c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2064" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2064', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2065" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2030', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2031" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2031', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2032" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2032', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2033" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2065', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2066" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2066', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2067" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2067', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2068" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2033', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2103"></a><tt class="py-lineno">2103</tt> <tt class="py-line"> </tt>
-<a name="L2104"></a><tt class="py-lineno">2104</tt> <tt class="py-line"> <tt id="link-2034" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2034', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2035" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2035', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2036" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2036', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1[0].c2[1]"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2105"></a><tt class="py-lineno">2105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2037" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2037', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2038" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2068', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt> <tt class="py-line"> </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt> <tt class="py-line"> <tt id="link-2069" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2069', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2070" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2070', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2071" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2071', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1[0].c2[1]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2072" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2072', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2073" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2038', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2039" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2039', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2040" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2040', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2041" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2073', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2074" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2074', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2075" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2075', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2076" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2041', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2106"></a><tt class="py-lineno">2106</tt> <tt class="py-line"> </tt>
-<a name="L2107"></a><tt class="py-lineno">2107</tt> <tt class="py-line"> <tt id="link-2042" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2042', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2043" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2043', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2044" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2044', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[2]"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2108"></a><tt class="py-lineno">2108</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2045" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2045', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2046" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2076', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt> <tt class="py-line"> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt> <tt class="py-line"> <tt id="link-2077" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2077', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2078" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2078', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2079" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2079', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[2]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2080" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2080', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2081" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2046', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2047" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2047', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2048" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2048', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2049" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2081', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2082" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2082', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2083" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2083', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2084" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2049', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2109"></a><tt class="py-lineno">2109</tt> <tt class="py-line"> </tt>
-<a name="L2110"></a><tt class="py-lineno">2110</tt> <tt class="py-line"> <tt id="link-2050" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2050', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2051" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2051', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2052" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2052', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[-1]"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2111"></a><tt class="py-lineno">2111</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2053" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2053', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2054" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2084', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt> <tt class="py-line"> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt> <tt class="py-line"> <tt id="link-2085" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2085', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2086" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2086', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2087" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2087', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[-1]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2088" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2088', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2089" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2054', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2055" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2055', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2056" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2056', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2057" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2089', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2090" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2090', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2091" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2091', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2092" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2057', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2112"></a><tt class="py-lineno">2112</tt> <tt class="py-line"> </tt>
-<a name="L2113"></a><tt class="py-lineno">2113</tt> <tt class="py-line"> <tt id="link-2058" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2058', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2059" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2059', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2060" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2060', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[-3]"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2114"></a><tt class="py-lineno">2114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2061" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2061', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2062" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2092', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt> <tt class="py-line"> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt> <tt class="py-line"> <tt id="link-2093" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2093', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2094" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2094', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2095" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2095', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2[-3]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2096" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2096', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2097" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2062', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2063" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2063', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2064" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2064', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2065" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2097', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2098" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2098', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2099" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2099', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2100" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2065', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2115"></a><tt class="py-lineno">2115</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_index_list"></a><div id="ObjectifyTestCase.test_object_path_index_list-def"><a name="L2116"></a><tt class="py-lineno">2116</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_index_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_index_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_list">test_object_path_index_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_index_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_index_list-expanded"><a name="L2117"></a><tt class="py-lineno">2117</tt> <tt class="py-line"> <tt id="link-2066" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2066', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2067" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2100', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2159"></a><tt class="py-lineno">2159</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_index_list"></a><div id="ObjectifyTestCase.test_object_path_index_list-def"><a name="L2160"></a><tt class="py-lineno">2160</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_index_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_index_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_list">test_object_path_index_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_index_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_index_list-expanded"><a name="L2161"></a><tt class="py-lineno">2161</tt> <tt class="py-line"> <tt id="link-2101" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2101', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2102" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2067', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2068" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2102', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2103" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2068', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2118"></a><tt class="py-lineno">2118</tt> <tt class="py-line"> <tt id="link-2069" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2069', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2070" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2070', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2071" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2071', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1[0]'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[0]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2119"></a><tt class="py-lineno">2119</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2072" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2072', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2073" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2103', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt> <tt class="py-line"> <tt id="link-2104" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2104', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2105" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2105', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2106" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2106', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1[0]'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[0]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2107" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2107', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2108" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2073', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2074" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2074', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2075" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2075', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2076" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2108', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2109" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2109', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2110" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2110', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2111" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2076', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2120"></a><tt class="py-lineno">2120</tt> <tt class="py-line"> </tt>
-<a name="L2121"></a><tt class="py-lineno">2121</tt> <tt class="py-line"> <tt id="link-2077" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2077', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2078" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2078', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2079" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2079', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1[0]'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[2]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2122"></a><tt class="py-lineno">2122</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2080" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2080', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2081" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2111', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt> <tt class="py-line"> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt> <tt class="py-line"> <tt id="link-2112" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2112', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2113" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2113', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2114" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2114', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1[0]'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[2]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2115" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2115', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2116" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2081', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2082" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2082', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2083" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2083', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2084" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2116', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2117" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2117', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2118" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2118', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2119" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2084', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2123"></a><tt class="py-lineno">2123</tt> <tt class="py-line"> </tt>
-<a name="L2124"></a><tt class="py-lineno">2124</tt> <tt class="py-line"> <tt id="link-2085" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2085', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2086" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2086', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2087" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2087', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[2]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2125"></a><tt class="py-lineno">2125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2088" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2088', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2089" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2119', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt> <tt class="py-line"> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt> <tt class="py-line"> <tt id="link-2120" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2120', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2121" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2121', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2122" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2122', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[2]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2123" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2123', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2124" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2089', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2090" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2090', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2091" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2091', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2092" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2124', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2125" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2125', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2126" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2126', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2127" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2092', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2126"></a><tt class="py-lineno">2126</tt> <tt class="py-line"> </tt>
-<a name="L2127"></a><tt class="py-lineno">2127</tt> <tt class="py-line"> <tt id="link-2093" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2093', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2094" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2094', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2095" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2095', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[-1]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2128"></a><tt class="py-lineno">2128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2096" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2096', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2097" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2127', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt> <tt class="py-line"> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt> <tt class="py-line"> <tt id="link-2128" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2128', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2129" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2129', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2130" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2130', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[-1]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2131" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2131', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2132" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2097', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2098" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2098', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2099" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2099', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2100" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2132', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2133" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2133', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2134" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2134', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2135" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2100', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2129"></a><tt class="py-lineno">2129</tt> <tt class="py-line"> </tt>
-<a name="L2130"></a><tt class="py-lineno">2130</tt> <tt class="py-line"> <tt id="link-2101" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2101', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2102" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2102', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2103" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2103', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[-3]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2131"></a><tt class="py-lineno">2131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2104" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2104', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2105" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2135', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt> <tt class="py-line"> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt> <tt class="py-line"> <tt id="link-2136" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2136', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2137" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2137', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2138" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2138', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[-3]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2139" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2139', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2140" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2105', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2106" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2106', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2107" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2107', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2108" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2140', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2141" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2141', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2142" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2142', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2143" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2108', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2132"></a><tt class="py-lineno">2132</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_index_fail_parse"></a><div id="ObjectifyTestCase.test_object_path_index_fail_parse-def"><a name="L2133"></a><tt class="py-lineno">2133</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_index_fail_parse-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_index_fail_parse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_fail_parse">test_object_path_index_fail_parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_index_fail_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_index_fail_parse-expanded"><a name="L2134"></a><tt class="py-lineno">2134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2109" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2109', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2110" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2110', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L2135"></a><tt class="py-lineno">2135</tt> <tt class="py-line"> <tt class="py-string">"root.c1[0].c2[-1-2]"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2136"></a><tt class="py-lineno">2136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2111" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2111', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2112" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2112', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L2137"></a><tt class="py-lineno">2137</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1[0]'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[-1-2]'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L2138"></a><tt class="py-lineno">2138</tt> <tt class="py-line"> </tt>
-<a name="L2139"></a><tt class="py-lineno">2139</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2113" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2113', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2114" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2114', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L2140"></a><tt class="py-lineno">2140</tt> <tt class="py-line"> <tt class="py-string">"root[2].c1.c2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2141"></a><tt class="py-lineno">2141</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2115" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2115', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2116" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2116', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L2142"></a><tt class="py-lineno">2142</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'root[2]'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L2143"></a><tt class="py-lineno">2143</tt> <tt class="py-line"> </tt>
-<a name="L2144"></a><tt class="py-lineno">2144</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2117" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2117', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2118" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2118', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L2145"></a><tt class="py-lineno">2145</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L2146"></a><tt class="py-lineno">2146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2119" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2119', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2120" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2120', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L2147"></a><tt class="py-lineno">2147</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2148"></a><tt class="py-lineno">2148</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_index_fail_lookup"></a><div id="ObjectifyTestCase.test_object_path_index_fail_lookup-def"><a name="L2149"></a><tt class="py-lineno">2149</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_index_fail_lookup-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_index_fail_lookup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_fail_lookup">test_object_path_index_fail_lookup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_index_fail_lookup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_index_fail_lookup-expanded"><a name="L2150"></a><tt class="py-lineno">2150</tt> <tt class="py-line"> <tt id="link-2121" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2121', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2122" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2143', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2176"></a><tt class="py-lineno">2176</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_index_fail_parse"></a><div id="ObjectifyTestCase.test_object_path_index_fail_parse-def"><a name="L2177"></a><tt class="py-lineno">2177</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_index_fail_parse-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_index_fail_parse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_fail_parse">test_object_path_index_fail_parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_index_fail_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_index_fail_parse-expanded"><a name="L2178"></a><tt class="py-lineno">2178</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2144" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2144', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2145" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2145', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt> <tt class="py-line"> <tt class="py-string">"root.c1[0].c2[-1-2]"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2146" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2146', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2147" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2147', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1[0]'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2[-1-2]'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt> <tt class="py-line"> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2148" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2148', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2149" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2149', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt> <tt class="py-line"> <tt class="py-string">"root[2].c1.c2"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2150" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2150', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2151" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2151', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'root[2]'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt> <tt class="py-line"> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2152" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2152', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2153" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2153', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-2154" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2154', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2155" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2155', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2192"></a><tt class="py-lineno">2192</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_index_fail_lookup"></a><div id="ObjectifyTestCase.test_object_path_index_fail_lookup-def"><a name="L2193"></a><tt class="py-lineno">2193</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_index_fail_lookup-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_index_fail_lookup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_index_fail_lookup">test_object_path_index_fail_lookup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_index_fail_lookup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_index_fail_lookup-expanded"><a name="L2194"></a><tt class="py-lineno">2194</tt> <tt class="py-line"> <tt id="link-2156" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2156', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2157" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2122', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2123" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2157', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2158" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2123', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2151"></a><tt class="py-lineno">2151</tt> <tt class="py-line"> <tt id="link-2124" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2124', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2125" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2125', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2126" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2126', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root.c1[9999].c2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2152"></a><tt class="py-lineno">2152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2127" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2127', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2128" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2128', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2153"></a><tt class="py-lineno">2153</tt> <tt class="py-line"> </tt>
-<a name="L2154"></a><tt class="py-lineno">2154</tt> <tt class="py-line"> <tt id="link-2129" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2129', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2130" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2130', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2131" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2131', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root.c1[0].c2[9999]"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2155"></a><tt class="py-lineno">2155</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2132" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2132', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2133" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2133', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2156"></a><tt class="py-lineno">2156</tt> <tt class="py-line"> </tt>
-<a name="L2157"></a><tt class="py-lineno">2157</tt> <tt class="py-line"> <tt id="link-2134" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2134', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2135" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2135', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2136" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2136', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">".c1[9999].c2[0]"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2158"></a><tt class="py-lineno">2158</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2137" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2137', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2138" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2138', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2159"></a><tt class="py-lineno">2159</tt> <tt class="py-line"> </tt>
-<a name="L2160"></a><tt class="py-lineno">2160</tt> <tt class="py-line"> <tt id="link-2139" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2139', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2140" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2140', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2141" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2141', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root.c1[-2].c2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2161"></a><tt class="py-lineno">2161</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2142" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2142', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2143" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2143', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2162"></a><tt class="py-lineno">2162</tt> <tt class="py-line"> </tt>
-<a name="L2163"></a><tt class="py-lineno">2163</tt> <tt class="py-line"> <tt id="link-2144" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2144', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2145" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2145', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2146" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2146', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root.c1[0].c2[-4]"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2164"></a><tt class="py-lineno">2164</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2147" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2147', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2148" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2148', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2165"></a><tt class="py-lineno">2165</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_ns"></a><div id="ObjectifyTestCase.test_object_path_ns-def"><a name="L2166"></a><tt class="py-lineno">2166</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_ns-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_ns');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_ns">test_object_path_ns</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_ns-expanded"><a name="L2167"></a><tt class="py-lineno">2167</tt> <tt class="py-line"> <tt id="link-2149" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2149', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2150" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2150', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2151" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2158', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2195"></a><tt class="py-lineno">2195</tt> <tt class="py-line"> <tt id="link-2159" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2159', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2160" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2160', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2161" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2161', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root.c1[9999].c2"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2162" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2162', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2163" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2163', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt> <tt class="py-line"> </tt>
+<a name="L2198"></a><tt class="py-lineno">2198</tt> <tt class="py-line"> <tt id="link-2164" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2164', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2165" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2165', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2166" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2166', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root.c1[0].c2[9999]"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2167" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2167', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2168" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2168', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2200"></a><tt class="py-lineno">2200</tt> <tt class="py-line"> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt> <tt class="py-line"> <tt id="link-2169" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2169', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2170" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2170', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2171" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2171', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">".c1[9999].c2[0]"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2172" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2172', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2173" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2173', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt> <tt class="py-line"> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt> <tt class="py-line"> <tt id="link-2174" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2174', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2175" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2175', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2176" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2176', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root.c1[-2].c2"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2205"></a><tt class="py-lineno">2205</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2177" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2177', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2178" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2178', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt> <tt class="py-line"> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt> <tt class="py-line"> <tt id="link-2179" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2179', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2180" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2180', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2181" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2181', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"root.c1[0].c2[-4]"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2182" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2182', 'path', 'link-0');">path</a></tt><tt class="py-op">,</tt> <tt id="link-2183" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2183', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2209"></a><tt class="py-lineno">2209</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_ns"></a><div id="ObjectifyTestCase.test_object_path_ns-def"><a name="L2210"></a><tt class="py-lineno">2210</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_ns-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_ns');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_ns">test_object_path_ns</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_ns-expanded"><a name="L2211"></a><tt class="py-lineno">2211</tt> <tt class="py-line"> <tt id="link-2184" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2184', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2185" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2185', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2186" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2151', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2168"></a><tt class="py-lineno">2168</tt> <tt class="py-line"> <tt id="link-2152" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2152', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2153" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2153', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2154" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2154', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"{objectified}root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2169"></a><tt class="py-lineno">2169</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2155" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2155', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2156" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2186', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt> <tt class="py-line"> <tt id="link-2187" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2187', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2188" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2188', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2189" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2189', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"{objectified}root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2190" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2190', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2191" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2156', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2157" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2157', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2158" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2191', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2192" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2192', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2193" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2158', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2159" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2159', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2160" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2193', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2194" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2194', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2195" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2160', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2170"></a><tt class="py-lineno">2170</tt> <tt class="py-line"> <tt id="link-2161" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2161', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2162" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2162', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2163" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2163', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"{objectified}root.{objectified}c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2171"></a><tt class="py-lineno">2171</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2164" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2164', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2165" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2195', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt> <tt class="py-line"> <tt id="link-2196" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2196', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2197" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2197', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2198" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2198', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"{objectified}root.{objectified}c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2199" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2199', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2200" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2165', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2166" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2166', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2167" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2200', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2201" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2201', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2202" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2167', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2168" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2168', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2169" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2202', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2203" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2203', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2204" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2169', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2172"></a><tt class="py-lineno">2172</tt> <tt class="py-line"> <tt id="link-2170" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2170', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2171" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2171', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2172" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2172', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.{objectified}c1.{objectified}c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2173"></a><tt class="py-lineno">2173</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2173" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2173', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2174" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2204', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt> <tt class="py-line"> <tt id="link-2205" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2205', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2206" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2206', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2207" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2207', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.{objectified}c1.{objectified}c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2208" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2208', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2209" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2174', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2175" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2175', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2176" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2209', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2210" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2210', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2211" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2176', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2177" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2177', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2178" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2211', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2212" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2212', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2213" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2178', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2174"></a><tt class="py-lineno">2174</tt> <tt class="py-line"> <tt id="link-2179" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2179', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2180" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2180', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2181" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2181', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.{objectified}c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2175"></a><tt class="py-lineno">2175</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2182" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2182', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2183" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2213', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt> <tt class="py-line"> <tt id="link-2214" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2214', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2215" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2215', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2216" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2216', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.{objectified}c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2217" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2217', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2218" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2183', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2184" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2184', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2185" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2218', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2219" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2219', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2220" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2185', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2186" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2186', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2187" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2220', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2221" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2221', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2222" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2187', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2176"></a><tt class="py-lineno">2176</tt> <tt class="py-line"> <tt id="link-2188" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2188', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2189" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2189', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2190" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2190', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.{otherNS}c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2177"></a><tt class="py-lineno">2177</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt id="link-2191" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2191', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">,</tt> <tt class="py-string">'{otherNS}c2'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2192" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2222', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt> <tt class="py-line"> <tt id="link-2223" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2223', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2224" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2224', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2225" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2225', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.{otherNS}c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt id="link-2226" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2226', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">,</tt> <tt class="py-string">'{otherNS}c2'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2227" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2192', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L2178"></a><tt class="py-lineno">2178</tt> <tt class="py-line"> <tt id="link-2193" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2193', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2194" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2227', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt> <tt class="py-line"> <tt id="link-2228" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2228', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2229" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2194', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2195" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2195', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2196" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2229', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2230" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2230', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2231" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2196', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2179"></a><tt class="py-lineno">2179</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_ns_list"></a><div id="ObjectifyTestCase.test_object_path_ns_list-def"><a name="L2180"></a><tt class="py-lineno">2180</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_ns_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_ns_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_ns_list">test_object_path_ns_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_ns_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_ns_list-expanded"><a name="L2181"></a><tt class="py-lineno">2181</tt> <tt class="py-line"> <tt id="link-2197" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2197', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2198" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2231', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2223"></a><tt class="py-lineno">2223</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_ns_list"></a><div id="ObjectifyTestCase.test_object_path_ns_list-def"><a name="L2224"></a><tt class="py-lineno">2224</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_ns_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_ns_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_ns_list">test_object_path_ns_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_ns_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_ns_list-expanded"><a name="L2225"></a><tt class="py-lineno">2225</tt> <tt class="py-line"> <tt id="link-2232" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2232', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2233" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2198', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2199" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2233', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2234" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2199', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2182"></a><tt class="py-lineno">2182</tt> <tt class="py-line"> <tt id="link-2200" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2200', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2201" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2201', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2202" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2202', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'{objectified}root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2183"></a><tt class="py-lineno">2183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2203" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2203', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2204" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2234', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt> <tt class="py-line"> <tt id="link-2235" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2235', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2236" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2236', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2237" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2237', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'{objectified}root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2238" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2238', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2239" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2204', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2205" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2205', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2206" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2239', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2240" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2240', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2241" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2206', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2207" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2207', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2208" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2241', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2242" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2242', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2243" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2208', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2184"></a><tt class="py-lineno">2184</tt> <tt class="py-line"> <tt id="link-2209" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2209', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2210" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2210', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2211" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2211', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'{objectified}root'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2185"></a><tt class="py-lineno">2185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2212" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2212', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2213" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2243', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt> <tt class="py-line"> <tt id="link-2244" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2244', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2245" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2245', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2246" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2246', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'{objectified}root'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2247" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2247', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2248" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2213', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2214" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2214', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2215" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2248', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2249" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2249', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2250" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2215', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2216" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2216', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2217" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2250', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2251" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2251', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2252" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2217', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2186"></a><tt class="py-lineno">2186</tt> <tt class="py-line"> <tt id="link-2218" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2218', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2219" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2219', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2220" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2220', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2187"></a><tt class="py-lineno">2187</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2221" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2221', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2222" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2252', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt> <tt class="py-line"> <tt id="link-2253" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2253', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2254" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2254', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2255" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2255', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2256" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2256', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2257" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2222', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2223" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2223', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2224" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2257', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2258" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2258', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2259" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2224', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2225" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2225', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2226" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2259', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2260" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2260', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2261" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2226', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2188"></a><tt class="py-lineno">2188</tt> <tt class="py-line"> <tt id="link-2227" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2227', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2228" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2228', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2229" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2229', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c2[2]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2189"></a><tt class="py-lineno">2189</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2230" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2230', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2231" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2261', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt> <tt class="py-line"> <tt id="link-2262" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2262', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2263" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2263', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2264" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2264', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c2[2]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2265" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2265', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2266" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2231', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2232" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2232', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2233" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2266', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2267" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2267', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2268" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2233', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2234" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2234', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2235" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2268', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2269" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2269', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2270" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2235', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2190"></a><tt class="py-lineno">2190</tt> <tt class="py-line"> <tt id="link-2236" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2236', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2237" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2237', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2238" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2238', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2191"></a><tt class="py-lineno">2191</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2239" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2239', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2240" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2270', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt> <tt class="py-line"> <tt id="link-2271" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2271', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2272" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2272', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2273" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2273', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2274" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2274', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2275" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2240', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2241" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2241', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2242" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2275', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2276" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2276', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2277" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2242', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2243" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2243', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2244" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2277', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2278" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2278', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2279" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2244', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2192"></a><tt class="py-lineno">2192</tt> <tt class="py-line"> <tt id="link-2245" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2245', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2246" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2246', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2247" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2247', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c2[2]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2193"></a><tt class="py-lineno">2193</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2248" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2248', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2249" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2279', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2236"></a><tt class="py-lineno">2236</tt> <tt class="py-line"> <tt id="link-2280" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2280', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2281" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2281', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2282" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2282', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c2[2]'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2237"></a><tt class="py-lineno">2237</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2283" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2283', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2284" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2249', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2250" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2250', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2251" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2284', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2285" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2285', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2286" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2251', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2252" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2252', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2253" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2286', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2287" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2287', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2288" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2253', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2194"></a><tt class="py-lineno">2194</tt> <tt class="py-line"> <tt id="link-2254" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2254', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2255" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2255', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2256" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2256', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{otherNS}c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2195"></a><tt class="py-lineno">2195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt id="link-2257" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2257', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">,</tt> <tt class="py-string">'{otherNS}c2'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2258" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2288', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt> <tt class="py-line"> <tt id="link-2289" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2289', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2290" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2290', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2291" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2291', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt class="py-string">'c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{otherNS}c2'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt id="link-2292" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2292', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">,</tt> <tt class="py-string">'{otherNS}c2'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2293" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2258', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L2196"></a><tt class="py-lineno">2196</tt> <tt class="py-line"> <tt id="link-2259" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2259', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2260" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2293', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2240"></a><tt class="py-lineno">2240</tt> <tt class="py-line"> <tt id="link-2294" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2294', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2295" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2260', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2261" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2261', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2262" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2295', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2296" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2296', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2297" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2262', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2197"></a><tt class="py-lineno">2197</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_set"></a><div id="ObjectifyTestCase.test_object_path_set-def"><a name="L2198"></a><tt class="py-lineno">2198</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set">test_object_path_set</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_set-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set-expanded"><a name="L2199"></a><tt class="py-lineno">2199</tt> <tt class="py-line"> <tt id="link-2263" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2263', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2264" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2297', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2241"></a><tt class="py-lineno">2241</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_set"></a><div id="ObjectifyTestCase.test_object_path_set-def"><a name="L2242"></a><tt class="py-lineno">2242</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set">test_object_path_set</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_set-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set-expanded"><a name="L2243"></a><tt class="py-lineno">2243</tt> <tt class="py-line"> <tt id="link-2298" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2298', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2299" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2264', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2265" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2299', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2300" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2265', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2200"></a><tt class="py-lineno">2200</tt> <tt class="py-line"> <tt id="link-2266" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2266', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2267" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2267', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2268" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2268', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2201"></a><tt class="py-lineno">2201</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2269" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2269', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2270" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2300', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2244"></a><tt class="py-lineno">2244</tt> <tt class="py-line"> <tt id="link-2301" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2301', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2302" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2302', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2303" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2303', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2304" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2304', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2305" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2270', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2271" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2271', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2272" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2305', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2306" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2306', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2307" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2272', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2273" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2273', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2274" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2307', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2308" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2308', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2309" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2274', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2202"></a><tt class="py-lineno">2202</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt id="link-2275" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2275', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2276" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2309', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt id="link-2310" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2310', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2311" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2276', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2203"></a><tt class="py-lineno">2203</tt> <tt class="py-line"> </tt>
-<a name="L2204"></a><tt class="py-lineno">2204</tt> <tt class="py-line"> <tt class="py-name">new_value</tt> <tt class="py-op">=</tt> <tt class="py-string">"my new value"</tt> </tt>
-<a name="L2205"></a><tt class="py-lineno">2205</tt> <tt class="py-line"> <tt id="link-2277" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2277', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2278" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2278', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2279" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2279', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L2206"></a><tt class="py-lineno">2206</tt> <tt class="py-line"> </tt>
-<a name="L2207"></a><tt class="py-lineno">2207</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2280" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2280', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2281" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2311', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt> <tt class="py-line"> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt> <tt class="py-line"> <tt class="py-name">new_value</tt> <tt class="py-op">=</tt> <tt class="py-string">"my new value"</tt> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt> <tt class="py-line"> <tt id="link-2312" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2312', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2313" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2313', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2314" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2314', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt> <tt class="py-line"> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2315" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2315', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2316" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2281', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2208"></a><tt class="py-lineno">2208</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2282" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2282', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2283" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2283', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2284" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2316', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2317" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2317', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2318" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2318', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2319" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2284', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2209"></a><tt class="py-lineno">2209</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt id="link-2285" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2285', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2286" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2319', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt id="link-2320" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2320', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2321" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2286', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2210"></a><tt class="py-lineno">2210</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_set_element"></a><div id="ObjectifyTestCase.test_object_path_set_element-def"><a name="L2211"></a><tt class="py-lineno">2211</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set_element-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_element">test_object_path_set_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_set_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set_element-expanded"><a name="L2212"></a><tt class="py-lineno">2212</tt> <tt class="py-line"> <tt id="link-2287" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2287', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2288" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2321', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2254"></a><tt class="py-lineno">2254</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_set_element"></a><div id="ObjectifyTestCase.test_object_path_set_element-def"><a name="L2255"></a><tt class="py-lineno">2255</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set_element-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_element">test_object_path_set_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_set_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set_element-expanded"><a name="L2256"></a><tt class="py-lineno">2256</tt> <tt class="py-line"> <tt id="link-2322" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2322', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2323" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2288', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2289" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2323', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2324" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2289', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2213"></a><tt class="py-lineno">2213</tt> <tt class="py-line"> <tt id="link-2290" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2290', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2291" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2291', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2292" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2292', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2214"></a><tt class="py-lineno">2214</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2293" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2293', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2294" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2324', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt> <tt class="py-line"> <tt id="link-2325" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2325', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2326" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2326', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2327" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2327', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2328" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2328', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2329" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2294', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2295" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2295', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2296" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2329', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt id="link-2330" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2330', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2331" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2296', 'find', 'link-1831');">find</a></tt><tt class="py-op">(</tt><tt id="link-2297" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2297', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2298" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2331', 'find', 'link-1866');">find</a></tt><tt class="py-op">(</tt><tt id="link-2332" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2332', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2333" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2298', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2215"></a><tt class="py-lineno">2215</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt id="link-2299" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2299', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2300" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2333', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt id="link-2334" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2334', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2335" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2300', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2216"></a><tt class="py-lineno">2216</tt> <tt class="py-line"> </tt>
-<a name="L2217"></a><tt class="py-lineno">2217</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2301" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2335', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt> <tt class="py-line"> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2336" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2301', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2218"></a><tt class="py-lineno">2218</tt> <tt class="py-line"> <tt id="link-2302" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2336', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt> <tt class="py-line"> <tt id="link-2337" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2302', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2303" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2303', 'SubElement', 'link-545');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">,</tt> <tt class="py-string">"{objectified}sub"</tt><tt class="py-op">,</tt> <tt class="py-name">myattr</tt><tt class="py-op">=</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-string">"TEST"</tt> </tt>
-<a name="L2219"></a><tt class="py-lineno">2219</tt> <tt class="py-line"> <tt id="link-2304" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2304', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2305" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2305', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2306" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2306', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
-<a name="L2220"></a><tt class="py-lineno">2220</tt> <tt class="py-line"> </tt>
-<a name="L2221"></a><tt class="py-lineno">2221</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">,</tt> <tt id="link-2307" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2307', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2308" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2337', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2338" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2338', 'SubElement', 'link-545');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">,</tt> <tt class="py-string">"{objectified}sub"</tt><tt class="py-op">,</tt> <tt class="py-name">myattr</tt><tt class="py-op">=</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-string">"TEST"</tt> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt> <tt class="py-line"> <tt id="link-2339" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2339', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2340" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2340', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2341" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2341', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt> <tt class="py-line"> </tt>
+<a name="L2265"></a><tt class="py-lineno">2265</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">,</tt> <tt id="link-2342" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2342', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-2343" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2308', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2222"></a><tt class="py-lineno">2222</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2309" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2309', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2310" class="py-name"><a title="lxml.etree.QName.text
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2343', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2266"></a><tt class="py-lineno">2266</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2344" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2344', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2345" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2310', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2223"></a><tt class="py-lineno">2223</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2311" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2311', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2312" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2312', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2313" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2345', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2267"></a><tt class="py-lineno">2267</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2346" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2346', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2347" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2347', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2348" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2313', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2224"></a><tt class="py-lineno">2224</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt id="link-2314" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2314', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2315" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2348', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2268"></a><tt class="py-lineno">2268</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt id="link-2349" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2349', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2350" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2315', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2225"></a><tt class="py-lineno">2225</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_set_create"></a><div id="ObjectifyTestCase.test_object_path_set_create-def"><a name="L2226"></a><tt class="py-lineno">2226</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set_create-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set_create');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create">test_object_path_set_create</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_set_create-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set_create-expanded"><a name="L2227"></a><tt class="py-lineno">2227</tt> <tt class="py-line"> <tt id="link-2316" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2316', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2317" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2350', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2269"></a><tt class="py-lineno">2269</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_set_create"></a><div id="ObjectifyTestCase.test_object_path_set_create-def"><a name="L2270"></a><tt class="py-lineno">2270</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set_create-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set_create');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create">test_object_path_set_create</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_set_create-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set_create-expanded"><a name="L2271"></a><tt class="py-lineno">2271</tt> <tt class="py-line"> <tt id="link-2351" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2351', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2352" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2317', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2318" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2352', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2353" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2318', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2228"></a><tt class="py-lineno">2228</tt> <tt class="py-line"> <tt id="link-2319" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2319', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2320" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2320', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2321" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2321', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2229"></a><tt class="py-lineno">2229</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2322" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2322', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2323" class="py-name"><a title="lxml.etree._Element.find
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2353', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt> <tt class="py-line"> <tt id="link-2354" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2354', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2355" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2355', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2356" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2356', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2357" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2357', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2358" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2323', 'find', 'link-1831');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2324" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2324', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2230"></a><tt class="py-lineno">2230</tt> <tt class="py-line"> </tt>
-<a name="L2231"></a><tt class="py-lineno">2231</tt> <tt class="py-line"> <tt class="py-name">new_value</tt> <tt class="py-op">=</tt> <tt class="py-string">"my new value"</tt> </tt>
-<a name="L2232"></a><tt class="py-lineno">2232</tt> <tt class="py-line"> <tt id="link-2325" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2325', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2326" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2326', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2327" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2327', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L2233"></a><tt class="py-lineno">2233</tt> <tt class="py-line"> </tt>
-<a name="L2234"></a><tt class="py-lineno">2234</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2328" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2328', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2235"></a><tt class="py-lineno">2235</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2329" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2329', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2330" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2358', 'find', 'link-1866');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2359" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2359', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt> <tt class="py-line"> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt> <tt class="py-line"> <tt class="py-name">new_value</tt> <tt class="py-op">=</tt> <tt class="py-string">"my new value"</tt> </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt> <tt class="py-line"> <tt id="link-2360" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2360', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2361" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2361', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2362" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2362', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt> <tt class="py-line"> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2363" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2363', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2364" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2364', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2365" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2330', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2236"></a><tt class="py-lineno">2236</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2331" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2331', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2332" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2332', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2333" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2365', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2366" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2366', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2367" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2367', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2368" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2333', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2237"></a><tt class="py-lineno">2237</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_set_create_element"></a><div id="ObjectifyTestCase.test_object_path_set_create_element-def"><a name="L2238"></a><tt class="py-lineno">2238</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set_create_element-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set_create_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_element">test_object_path_set_create_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_set_create_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set_create_element-expanded"><a name="L2239"></a><tt class="py-lineno">2239</tt> <tt class="py-line"> <tt id="link-2334" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2334', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2335" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2368', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2281"></a><tt class="py-lineno">2281</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_set_create_element"></a><div id="ObjectifyTestCase.test_object_path_set_create_element-def"><a name="L2282"></a><tt class="py-lineno">2282</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set_create_element-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set_create_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_element">test_object_path_set_create_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_set_create_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set_create_element-expanded"><a name="L2283"></a><tt class="py-lineno">2283</tt> <tt class="py-line"> <tt id="link-2369" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2369', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2370" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2335', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2336" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2370', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2371" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2336', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2240"></a><tt class="py-lineno">2240</tt> <tt class="py-line"> <tt id="link-2337" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2337', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2338" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2338', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2339" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2339', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2241"></a><tt class="py-lineno">2241</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2340" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2340', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2341" class="py-name"><a title="lxml.etree._Element.find
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2371', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt> <tt class="py-line"> <tt id="link-2372" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2372', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2373" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2373', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2374" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2374', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2375" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2375', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2376" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2341', 'find', 'link-1831');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2342" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2342', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2242"></a><tt class="py-lineno">2242</tt> <tt class="py-line"> </tt>
-<a name="L2243"></a><tt class="py-lineno">2243</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2343" class="py-name"><a title="lxml.etree.Element
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2376', 'find', 'link-1866');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2377" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2377', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt> <tt class="py-line"> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2378" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2343', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2244"></a><tt class="py-lineno">2244</tt> <tt class="py-line"> <tt id="link-2344" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2378', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt> <tt class="py-line"> <tt id="link-2379" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2344', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2345" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2345', 'SubElement', 'link-545');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">,</tt> <tt class="py-string">"{objectified}sub"</tt><tt class="py-op">,</tt> <tt class="py-name">myattr</tt><tt class="py-op">=</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-string">"TEST"</tt> </tt>
-<a name="L2245"></a><tt class="py-lineno">2245</tt> <tt class="py-line"> <tt id="link-2346" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2346', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2347" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2347', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2348" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2348', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
-<a name="L2246"></a><tt class="py-lineno">2246</tt> <tt class="py-line"> </tt>
-<a name="L2247"></a><tt class="py-lineno">2247</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2349" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2349', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2248"></a><tt class="py-lineno">2248</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">,</tt> <tt id="link-2350" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2350', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2351" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2379', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2380" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2380', 'SubElement', 'link-545');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">,</tt> <tt class="py-string">"{objectified}sub"</tt><tt class="py-op">,</tt> <tt class="py-name">myattr</tt><tt class="py-op">=</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-string">"TEST"</tt> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt> <tt class="py-line"> <tt id="link-2381" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2381', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2382" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2382', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2383" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2383', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt> <tt class="py-line"> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2384" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2384', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">,</tt> <tt id="link-2385" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2385', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2386" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2351', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2249"></a><tt class="py-lineno">2249</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2352" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2352', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2353" class="py-name"><a title="lxml.etree.QName.text
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2386', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2387" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2387', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2388" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2353', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2250"></a><tt class="py-lineno">2250</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2354" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2354', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2355" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2355', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2356" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2388', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2389" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2389', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2390" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2390', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2391" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2356', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2251"></a><tt class="py-lineno">2251</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_set_create_list"></a><div id="ObjectifyTestCase.test_object_path_set_create_list-def"><a name="L2252"></a><tt class="py-lineno">2252</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set_create_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set_create_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_list">test_object_path_set_create_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_set_create_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set_create_list-expanded"><a name="L2253"></a><tt class="py-lineno">2253</tt> <tt class="py-line"> <tt id="link-2357" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2357', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2358" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2391', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2295"></a><tt class="py-lineno">2295</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_set_create_list"></a><div id="ObjectifyTestCase.test_object_path_set_create_list-def"><a name="L2296"></a><tt class="py-lineno">2296</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_set_create_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_set_create_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_set_create_list">test_object_path_set_create_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_set_create_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_set_create_list-expanded"><a name="L2297"></a><tt class="py-lineno">2297</tt> <tt class="py-line"> <tt id="link-2392" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2392', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2393" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2358', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2359" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2393', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2394" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2359', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2254"></a><tt class="py-lineno">2254</tt> <tt class="py-line"> <tt id="link-2360" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2360', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2361" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2361', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2362" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2362', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2255"></a><tt class="py-lineno">2255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2363" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2363', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2364" class="py-name"><a title="lxml.etree._Element.find
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2394', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt> <tt class="py-line"> <tt id="link-2395" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2395', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2396" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2396', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2397" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2397', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2299"></a><tt class="py-lineno">2299</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2398" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2398', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2399" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2364', 'find', 'link-1831');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2365" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2365', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2256"></a><tt class="py-lineno">2256</tt> <tt class="py-line"> </tt>
-<a name="L2257"></a><tt class="py-lineno">2257</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2366" class="py-name"><a title="lxml.etree.Element
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2399', 'find', 'link-1866');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2400" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2400', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt> <tt class="py-line"> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2401" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2366', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2258"></a><tt class="py-lineno">2258</tt> <tt class="py-line"> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L2259"></a><tt class="py-lineno">2259</tt> <tt class="py-line"> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2367" class="py-name" targets="Method lxml.etree._Element.set()=lxml.etree._Element-class.html#set,Method lxml.etree._XSLTProcessingInstruction.set()=lxml.etree._XSLTProcessingInstruction-class.html#set"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2367', 'set', 'link-2367');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">,</tt> <tt class="py-string">"ATTR1"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2260"></a><tt class="py-lineno">2260</tt> <tt class="py-line"> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2368" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2368', 'set', 'link-2367');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">,</tt> <tt class="py-string">"ATTR2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2261"></a><tt class="py-lineno">2261</tt> <tt class="py-line"> </tt>
-<a name="L2262"></a><tt class="py-lineno">2262</tt> <tt class="py-line"> <tt id="link-2369" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2369', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2370" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2370', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2371" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2371', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2263"></a><tt class="py-lineno">2263</tt> <tt class="py-line"> </tt>
-<a name="L2264"></a><tt class="py-lineno">2264</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2372" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2372', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2265"></a><tt class="py-lineno">2265</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR1"</tt><tt class="py-op">,</tt> <tt id="link-2373" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2373', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2374" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2401', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2302"></a><tt class="py-lineno">2302</tt> <tt class="py-line"> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST2"</tt><tt class="py-op">]</tt> </tt>
+<a name="L2303"></a><tt class="py-lineno">2303</tt> <tt class="py-line"> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2402" class="py-name" targets="Method lxml.etree._Element.set()=lxml.etree._Element-class.html#set,Method lxml.etree._XSLTProcessingInstruction.set()=lxml.etree._XSLTProcessingInstruction-class.html#set"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2402', 'set', 'link-2402');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">,</tt> <tt class="py-string">"ATTR1"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2304"></a><tt class="py-lineno">2304</tt> <tt class="py-line"> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2403" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2403', 'set', 'link-2402');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">,</tt> <tt class="py-string">"ATTR2"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2305"></a><tt class="py-lineno">2305</tt> <tt class="py-line"> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt> <tt class="py-line"> <tt id="link-2404" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2404', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2405" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-2405', 'setattr', 'link-501');">setattr</a></tt><tt class="py-op">(</tt><tt id="link-2406" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2406', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</tt> <tt class="py-line"> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2407" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2407', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2309"></a><tt class="py-lineno">2309</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR1"</tt><tt class="py-op">,</tt> <tt id="link-2408" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2408', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2409" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2374', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2266"></a><tt class="py-lineno">2266</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt id="link-2375" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2375', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2376" class="py-name"><a title="lxml.etree.QName.text
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2409', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2310"></a><tt class="py-lineno">2310</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt id="link-2410" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2410', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2411" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2376', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2267"></a><tt class="py-lineno">2267</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR2"</tt><tt class="py-op">,</tt> <tt id="link-2377" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2377', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2378" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2411', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2311"></a><tt class="py-lineno">2311</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR2"</tt><tt class="py-op">,</tt> <tt id="link-2412" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2412', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2413" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2378', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2268"></a><tt class="py-lineno">2268</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST2"</tt><tt class="py-op">,</tt> <tt id="link-2379" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2379', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2380" class="py-name"><a title="lxml.etree.QName.text
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2413', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2312"></a><tt class="py-lineno">2312</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST2"</tt><tt class="py-op">,</tt> <tt id="link-2414" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2414', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2415" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2380', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2269"></a><tt class="py-lineno">2269</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt id="link-2381" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2381', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2382" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2382', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2383" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2415', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2313"></a><tt class="py-lineno">2313</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt id="link-2416" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2416', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2417" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2417', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2418" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2383', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2270"></a><tt class="py-lineno">2270</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_addattr"></a><div id="ObjectifyTestCase.test_object_path_addattr-def"><a name="L2271"></a><tt class="py-lineno">2271</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr">test_object_path_addattr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_addattr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr-expanded"><a name="L2272"></a><tt class="py-lineno">2272</tt> <tt class="py-line"> <tt id="link-2384" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2384', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2385" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2418', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2314"></a><tt class="py-lineno">2314</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_addattr"></a><div id="ObjectifyTestCase.test_object_path_addattr-def"><a name="L2315"></a><tt class="py-lineno">2315</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr">test_object_path_addattr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_addattr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr-expanded"><a name="L2316"></a><tt class="py-lineno">2316</tt> <tt class="py-line"> <tt id="link-2419" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2419', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2420" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2385', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2386" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2420', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2421" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2386', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2273"></a><tt class="py-lineno">2273</tt> <tt class="py-line"> <tt id="link-2387" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2387', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2388" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2388', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2389" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2389', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2274"></a><tt class="py-lineno">2274</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2390" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2390', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2275"></a><tt class="py-lineno">2275</tt> <tt class="py-line"> <tt id="link-2391" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2391', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2392" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
-lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2392', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2393" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2393', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2276"></a><tt class="py-lineno">2276</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2394" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2394', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2277"></a><tt class="py-lineno">2277</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"0"</tt><tt class="py-op">,</tt> <tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt class="py-string">"2"</tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2278"></a><tt class="py-lineno">2278</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2395" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2421', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2317"></a><tt class="py-lineno">2317</tt> <tt class="py-line"> <tt id="link-2422" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2422', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2423" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2423', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2424" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2424', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2318"></a><tt class="py-lineno">2318</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2425" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2425', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2319"></a><tt class="py-lineno">2319</tt> <tt class="py-line"> <tt id="link-2426" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2426', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2427" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
+lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2427', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2428" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2428', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2320"></a><tt class="py-lineno">2320</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2429" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2429', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2321"></a><tt class="py-lineno">2321</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"0"</tt><tt class="py-op">,</tt> <tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt class="py-string">"2"</tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2322"></a><tt class="py-lineno">2322</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2430" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2395', 'text', 'link-311');">text</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-2396" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2396', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2279"></a><tt class="py-lineno">2279</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_addattr_element"></a><div id="ObjectifyTestCase.test_object_path_addattr_element-def"><a name="L2280"></a><tt class="py-lineno">2280</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr_element-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_element">test_object_path_addattr_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_addattr_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr_element-expanded"><a name="L2281"></a><tt class="py-lineno">2281</tt> <tt class="py-line"> <tt id="link-2397" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2397', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2398" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2430', 'text', 'link-311');">text</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-2431" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2431', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2323"></a><tt class="py-lineno">2323</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_addattr_element"></a><div id="ObjectifyTestCase.test_object_path_addattr_element-def"><a name="L2324"></a><tt class="py-lineno">2324</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr_element-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_element">test_object_path_addattr_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_addattr_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr_element-expanded"><a name="L2325"></a><tt class="py-lineno">2325</tt> <tt class="py-line"> <tt id="link-2432" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2432', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2433" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2398', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2399" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2433', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2434" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2399', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2282"></a><tt class="py-lineno">2282</tt> <tt class="py-line"> <tt id="link-2400" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2400', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2401" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2401', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2402" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2402', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2283"></a><tt class="py-lineno">2283</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2403" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2403', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2284"></a><tt class="py-lineno">2284</tt> <tt class="py-line"> </tt>
-<a name="L2285"></a><tt class="py-lineno">2285</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2404" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2434', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2326"></a><tt class="py-lineno">2326</tt> <tt class="py-line"> <tt id="link-2435" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2435', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2436" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2436', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2437" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2437', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c2"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2327"></a><tt class="py-lineno">2327</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2438" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2438', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2328"></a><tt class="py-lineno">2328</tt> <tt class="py-line"> </tt>
+<a name="L2329"></a><tt class="py-lineno">2329</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2439" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2404', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2286"></a><tt class="py-lineno">2286</tt> <tt class="py-line"> <tt id="link-2405" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2439', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2330"></a><tt class="py-lineno">2330</tt> <tt class="py-line"> <tt id="link-2440" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2405', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2406" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2406', 'SubElement', 'link-545');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">,</tt> <tt class="py-string">"{objectified}sub"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-string">"TEST"</tt> </tt>
-<a name="L2287"></a><tt class="py-lineno">2287</tt> <tt class="py-line"> </tt>
-<a name="L2288"></a><tt class="py-lineno">2288</tt> <tt class="py-line"> <tt id="link-2407" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2407', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2408" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
-lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2408', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2409" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2409', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
-<a name="L2289"></a><tt class="py-lineno">2289</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2410" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2410', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2290"></a><tt class="py-lineno">2290</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2411" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2411', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2412" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2440', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2441" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2441', 'SubElement', 'link-545');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">,</tt> <tt class="py-string">"{objectified}sub"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-string">"TEST"</tt> </tt>
+<a name="L2331"></a><tt class="py-lineno">2331</tt> <tt class="py-line"> </tt>
+<a name="L2332"></a><tt class="py-lineno">2332</tt> <tt class="py-line"> <tt id="link-2442" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2442', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2443" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
+lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2443', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2444" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2444', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
+<a name="L2333"></a><tt class="py-lineno">2333</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2445" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2445', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2334"></a><tt class="py-lineno">2334</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2446" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2446', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2447" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2412', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2291"></a><tt class="py-lineno">2291</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"0"</tt><tt class="py-op">,</tt> <tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt class="py-string">"2"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2292"></a><tt class="py-lineno">2292</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2413" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2447', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2335"></a><tt class="py-lineno">2335</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"0"</tt><tt class="py-op">,</tt> <tt class="py-string">"1"</tt><tt class="py-op">,</tt> <tt class="py-string">"2"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2336"></a><tt class="py-lineno">2336</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2448" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2413', 'text', 'link-311');">text</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-2414" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2414', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2293"></a><tt class="py-lineno">2293</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_addattr_create"></a><div id="ObjectifyTestCase.test_object_path_addattr_create-def"><a name="L2294"></a><tt class="py-lineno">2294</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr_create-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr_create');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create">test_object_path_addattr_create</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_addattr_create-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr_create-expanded"><a name="L2295"></a><tt class="py-lineno">2295</tt> <tt class="py-line"> <tt id="link-2415" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2415', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2416" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2448', 'text', 'link-311');">text</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-2449" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2449', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c2</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2337"></a><tt class="py-lineno">2337</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_addattr_create"></a><div id="ObjectifyTestCase.test_object_path_addattr_create-def"><a name="L2338"></a><tt class="py-lineno">2338</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr_create-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr_create');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create">test_object_path_addattr_create</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_addattr_create-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr_create-expanded"><a name="L2339"></a><tt class="py-lineno">2339</tt> <tt class="py-line"> <tt id="link-2450" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2450', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2451" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2416', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2417" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2451', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2452" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2417', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2296"></a><tt class="py-lineno">2296</tt> <tt class="py-line"> <tt id="link-2418" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2418', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2419" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2419', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2420" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2420', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2297"></a><tt class="py-lineno">2297</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2421" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2421', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2422" class="py-name"><a title="lxml.etree._Element.find
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2452', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt> <tt class="py-line"> <tt id="link-2453" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2453', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2454" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2454', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2455" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2455', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2341"></a><tt class="py-lineno">2341</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2456" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2456', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2457" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2422', 'find', 'link-1831');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2423" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2423', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2298"></a><tt class="py-lineno">2298</tt> <tt class="py-line"> </tt>
-<a name="L2299"></a><tt class="py-lineno">2299</tt> <tt class="py-line"> <tt class="py-name">new_value</tt> <tt class="py-op">=</tt> <tt class="py-string">"my new value"</tt> </tt>
-<a name="L2300"></a><tt class="py-lineno">2300</tt> <tt class="py-line"> <tt id="link-2424" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2424', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2425" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
-lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2425', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2426" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2426', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_value</tt><tt class="py-op">)</tt> </tt>
-<a name="L2301"></a><tt class="py-lineno">2301</tt> <tt class="py-line"> </tt>
-<a name="L2302"></a><tt class="py-lineno">2302</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2427" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2427', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2303"></a><tt class="py-lineno">2303</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2428" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2428', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2429" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2457', 'find', 'link-1866');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2458" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2458', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt> <tt class="py-line"> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt> <tt class="py-line"> <tt class="py-name">new_value</tt> <tt class="py-op">=</tt> <tt class="py-string">"my new value"</tt> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt> <tt class="py-line"> <tt id="link-2459" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2459', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2460" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
+lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2460', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2461" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2461', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt> <tt class="py-line"> </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2462" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2462', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2463" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2463', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2464" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2429', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2304"></a><tt class="py-lineno">2304</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2430" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2430', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2431" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2431', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2432" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2464', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2348"></a><tt class="py-lineno">2348</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">,</tt> <tt id="link-2465" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2465', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2466" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2466', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2467" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2432', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2305"></a><tt class="py-lineno">2305</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_addattr_create_element"></a><div id="ObjectifyTestCase.test_object_path_addattr_create_element-def"><a name="L2306"></a><tt class="py-lineno">2306</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr_create_element-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr_create_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create_element">test_object_path_addattr_create_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_addattr_create_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr_create_element-expanded"><a name="L2307"></a><tt class="py-lineno">2307</tt> <tt class="py-line"> <tt id="link-2433" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2433', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2434" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2467', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2349"></a><tt class="py-lineno">2349</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_addattr_create_element"></a><div id="ObjectifyTestCase.test_object_path_addattr_create_element-def"><a name="L2350"></a><tt class="py-lineno">2350</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr_create_element-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr_create_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create_element">test_object_path_addattr_create_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_addattr_create_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr_create_element-expanded"><a name="L2351"></a><tt class="py-lineno">2351</tt> <tt class="py-line"> <tt id="link-2468" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2468', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2469" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2434', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2435" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2469', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2470" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2435', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2308"></a><tt class="py-lineno">2308</tt> <tt class="py-line"> <tt id="link-2436" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2436', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2437" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2437', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2438" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2438', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2309"></a><tt class="py-lineno">2309</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2439" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2439', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2440" class="py-name"><a title="lxml.etree._Element.find
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2470', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2352"></a><tt class="py-lineno">2352</tt> <tt class="py-line"> <tt id="link-2471" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2471', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2472" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2472', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2473" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2473', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2353"></a><tt class="py-lineno">2353</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2474" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2474', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2475" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2440', 'find', 'link-1831');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2441" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2441', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2310"></a><tt class="py-lineno">2310</tt> <tt class="py-line"> </tt>
-<a name="L2311"></a><tt class="py-lineno">2311</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2442" class="py-name"><a title="lxml.etree.Element
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2475', 'find', 'link-1866');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2476" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2476', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2354"></a><tt class="py-lineno">2354</tt> <tt class="py-line"> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2477" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2442', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2312"></a><tt class="py-lineno">2312</tt> <tt class="py-line"> <tt id="link-2443" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2477', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2356"></a><tt class="py-lineno">2356</tt> <tt class="py-line"> <tt id="link-2478" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2443', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2444" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2444', 'SubElement', 'link-545');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">,</tt> <tt class="py-string">"{objectified}sub"</tt><tt class="py-op">,</tt> <tt class="py-name">myattr</tt><tt class="py-op">=</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-string">"TEST"</tt> </tt>
-<a name="L2313"></a><tt class="py-lineno">2313</tt> <tt class="py-line"> </tt>
-<a name="L2314"></a><tt class="py-lineno">2314</tt> <tt class="py-line"> <tt id="link-2445" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2445', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2446" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
-lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2446', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2447" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2447', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
-<a name="L2315"></a><tt class="py-lineno">2315</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2448" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2448', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2316"></a><tt class="py-lineno">2316</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2449" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2449', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2450" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2478', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2479" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2479', 'SubElement', 'link-545');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">,</tt> <tt class="py-string">"{objectified}sub"</tt><tt class="py-op">,</tt> <tt class="py-name">myattr</tt><tt class="py-op">=</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-string">"TEST"</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt> <tt class="py-line"> </tt>
+<a name="L2358"></a><tt class="py-lineno">2358</tt> <tt class="py-line"> <tt id="link-2480" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2480', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2481" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
+lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2481', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2482" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2482', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
+<a name="L2359"></a><tt class="py-lineno">2359</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2483" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2483', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2360"></a><tt class="py-lineno">2360</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2484" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2484', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2485" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2450', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2317"></a><tt class="py-lineno">2317</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2451" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2451', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2452" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2452', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2453" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2485', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2361"></a><tt class="py-lineno">2361</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-2486" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2486', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2487" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2487', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2488" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2453', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2318"></a><tt class="py-lineno">2318</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">,</tt> <tt id="link-2454" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2454', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2455" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2488', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2362"></a><tt class="py-lineno">2362</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"ATTR"</tt><tt class="py-op">,</tt> <tt id="link-2489" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2489', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2490" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2455', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2319"></a><tt class="py-lineno">2319</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_object_path_addattr_create_list"></a><div id="ObjectifyTestCase.test_object_path_addattr_create_list-def"><a name="L2320"></a><tt class="py-lineno">2320</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr_create_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr_create_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create_list">test_object_path_addattr_create_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_object_path_addattr_create_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr_create_list-expanded"><a name="L2321"></a><tt class="py-lineno">2321</tt> <tt class="py-line"> <tt id="link-2456" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2456', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2457" class="py-name"><a title="lxml.etree.XML
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2490', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"myattr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2363"></a><tt class="py-lineno">2363</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_object_path_addattr_create_list"></a><div id="ObjectifyTestCase.test_object_path_addattr_create_list-def"><a name="L2364"></a><tt class="py-lineno">2364</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_object_path_addattr_create_list-toggle" onclick="return toggle('ObjectifyTestCase.test_object_path_addattr_create_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_object_path_addattr_create_list">test_object_path_addattr_create_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_object_path_addattr_create_list-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_object_path_addattr_create_list-expanded"><a name="L2365"></a><tt class="py-lineno">2365</tt> <tt class="py-line"> <tt id="link-2491" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2491', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2492" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2457', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2458" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2492', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2493" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2458', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2322"></a><tt class="py-lineno">2322</tt> <tt class="py-line"> <tt id="link-2459" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2459', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2460" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2460', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2461" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2461', 'ObjectPath', 'link-1827');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
-<a name="L2323"></a><tt class="py-lineno">2323</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2462" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2462', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2463" class="py-name"><a title="lxml.etree._Element.find
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2493', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2366"></a><tt class="py-lineno">2366</tt> <tt class="py-line"> <tt id="link-2494" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2494', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-2495" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2495', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2496" class="py-name"><a title="lxml.objectify.ObjectPath" class="py-name" href="#" onclick="return doclink('link-2496', 'ObjectPath', 'link-1862');">ObjectPath</a></tt><tt class="py-op">(</tt> <tt class="py-string">"root.c1.c99"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2367"></a><tt class="py-lineno">2367</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt id="link-2497" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2497', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2498" class="py-name"><a title="lxml.etree._Element.find
lxml.etree._ElementTree.find
lxml.objectify.ObjectPath.find
lxml.tests.selftest.find
-lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2463', 'find', 'link-1831');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2464" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2464', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2324"></a><tt class="py-lineno">2324</tt> <tt class="py-line"> </tt>
-<a name="L2325"></a><tt class="py-lineno">2325</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2465" class="py-name"><a title="lxml.etree.Element
+lxml.tests.selftest2.find" class="py-name" href="#" onclick="return doclink('link-2498', 'find', 'link-1866');">find</a></tt><tt class="py-op">,</tt> <tt id="link-2499" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2499', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt> <tt class="py-line"> </tt>
+<a name="L2369"></a><tt class="py-lineno">2369</tt> <tt class="py-line"> <tt class="py-name">new_el</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2500" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2465', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2326"></a><tt class="py-lineno">2326</tt> <tt class="py-line"> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L2327"></a><tt class="py-lineno">2327</tt> <tt class="py-line"> </tt>
-<a name="L2328"></a><tt class="py-lineno">2328</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2329"></a><tt class="py-lineno">2329</tt> <tt class="py-line"> </tt>
-<a name="L2330"></a><tt class="py-lineno">2330</tt> <tt class="py-line"> <tt id="link-2466" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2466', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2467" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
-lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2467', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2468" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2468', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2331"></a><tt class="py-lineno">2331</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2469" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2469', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2332"></a><tt class="py-lineno">2332</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt id="link-2470" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2470', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2471" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2500', 'Element', 'link-79');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{objectified}test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2370"></a><tt class="py-lineno">2370</tt> <tt class="py-line"> <tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST2"</tt><tt class="py-op">]</tt> </tt>
+<a name="L2371"></a><tt class="py-lineno">2371</tt> <tt class="py-line"> </tt>
+<a name="L2372"></a><tt class="py-lineno">2372</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2373"></a><tt class="py-lineno">2373</tt> <tt class="py-line"> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt> <tt class="py-line"> <tt id="link-2501" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2501', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt id="link-2502" class="py-name"><a title="lxml.objectify.ObjectPath.addattr
+lxml.objectify.ObjectifiedElement.addattr" class="py-name" href="#" onclick="return doclink('link-2502', 'addattr', 'link-523');">addattr</a></tt><tt class="py-op">(</tt><tt id="link-2503" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2503', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">new_el</tt><tt class="py-op">.</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2375"></a><tt class="py-lineno">2375</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2504" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2504', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2376"></a><tt class="py-lineno">2376</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST1"</tt><tt class="py-op">,</tt> <tt id="link-2505" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2505', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt class="py-name">c99</tt><tt class="py-op">.</tt><tt id="link-2506" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2471', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2333"></a><tt class="py-lineno">2333</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST2"</tt><tt class="py-op">,</tt> <tt id="link-2472" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2472', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2473" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2473', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2474" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2506', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2377"></a><tt class="py-lineno">2377</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST2"</tt><tt class="py-op">,</tt> <tt id="link-2507" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-2507', 'path', 'link-0');">path</a></tt><tt class="py-op">(</tt><tt id="link-2508" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2508', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2509" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2474', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2334"></a><tt class="py-lineno">2334</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_descendant_paths"></a><div id="ObjectifyTestCase.test_descendant_paths-def"><a name="L2335"></a><tt class="py-lineno">2335</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_descendant_paths-toggle" onclick="return toggle('ObjectifyTestCase.test_descendant_paths');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths">test_descendant_paths</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_descendant_paths-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_descendant_paths-expanded"><a name="L2336"></a><tt class="py-lineno">2336</tt> <tt class="py-line"> <tt id="link-2475" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2475', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2476" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2509', 'text', 'link-311');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2378"></a><tt class="py-lineno">2378</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_descendant_paths"></a><div id="ObjectifyTestCase.test_descendant_paths-def"><a name="L2379"></a><tt class="py-lineno">2379</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_descendant_paths-toggle" onclick="return toggle('ObjectifyTestCase.test_descendant_paths');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths">test_descendant_paths</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_descendant_paths-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_descendant_paths-expanded"><a name="L2380"></a><tt class="py-lineno">2380</tt> <tt class="py-line"> <tt id="link-2510" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2510', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2511" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2476', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2477" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2511', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2512" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2477', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2337"></a><tt class="py-lineno">2337</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2338"></a><tt class="py-lineno">2338</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'{objectified}root'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}root.c1'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2339"></a><tt class="py-lineno">2339</tt> <tt class="py-line"> <tt class="py-string">'{objectified}root.c1.c2'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2340"></a><tt class="py-lineno">2340</tt> <tt class="py-line"> <tt class="py-string">'{objectified}root.c1.c2[1]'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}root.c1.c2[2]'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2341"></a><tt class="py-lineno">2341</tt> <tt class="py-line"> <tt class="py-string">'{objectified}root.c1.{otherNS}c2'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}root.c1.{}c2'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2342"></a><tt class="py-lineno">2342</tt> <tt class="py-line"> <tt id="link-2478" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2478', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2479" class="py-name" targets="Method lxml.objectify.ObjectifiedElement.descendantpaths()=lxml.objectify.ObjectifiedElement-class.html#descendantpaths"><a title="lxml.objectify.ObjectifiedElement.descendantpaths" class="py-name" href="#" onclick="return doclink('link-2479', 'descendantpaths', 'link-2479');">descendantpaths</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2343"></a><tt class="py-lineno">2343</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_descendant_paths_child"></a><div id="ObjectifyTestCase.test_descendant_paths_child-def"><a name="L2344"></a><tt class="py-lineno">2344</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_descendant_paths_child-toggle" onclick="return toggle('ObjectifyTestCase.test_descendant_paths_child');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths_child">test_descendant_paths_child</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_descendant_paths_child-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_descendant_paths_child-expanded"><a name="L2345"></a><tt class="py-lineno">2345</tt> <tt class="py-line"> <tt id="link-2480" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2480', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2481" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2481', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2482" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2512', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2381"></a><tt class="py-lineno">2381</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2382"></a><tt class="py-lineno">2382</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'{objectified}root'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}root.c1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2383"></a><tt class="py-lineno">2383</tt> <tt class="py-line"> <tt class="py-string">'{objectified}root.c1.c2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2384"></a><tt class="py-lineno">2384</tt> <tt class="py-line"> <tt class="py-string">'{objectified}root.c1.c2[1]'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}root.c1.c2[2]'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt> <tt class="py-line"> <tt class="py-string">'{objectified}root.c1.{otherNS}c2'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}root.c1.{}c2'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2386"></a><tt class="py-lineno">2386</tt> <tt class="py-line"> <tt id="link-2513" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2513', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2514" class="py-name" targets="Method lxml.objectify.ObjectifiedElement.descendantpaths()=lxml.objectify.ObjectifiedElement-class.html#descendantpaths"><a title="lxml.objectify.ObjectifiedElement.descendantpaths" class="py-name" href="#" onclick="return doclink('link-2514', 'descendantpaths', 'link-2514');">descendantpaths</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2387"></a><tt class="py-lineno">2387</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_descendant_paths_child"></a><div id="ObjectifyTestCase.test_descendant_paths_child-def"><a name="L2388"></a><tt class="py-lineno">2388</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_descendant_paths_child-toggle" onclick="return toggle('ObjectifyTestCase.test_descendant_paths_child');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths_child">test_descendant_paths_child</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_descendant_paths_child-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_descendant_paths_child-expanded"><a name="L2389"></a><tt class="py-lineno">2389</tt> <tt class="py-line"> <tt id="link-2515" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2515', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2516" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2516', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2517" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2482', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2346"></a><tt class="py-lineno">2346</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2347"></a><tt class="py-lineno">2347</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1.c2'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2348"></a><tt class="py-lineno">2348</tt> <tt class="py-line"> <tt class="py-string">'{objectified}c1.c2[1]'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1.c2[2]'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2349"></a><tt class="py-lineno">2349</tt> <tt class="py-line"> <tt class="py-string">'{objectified}c1.{otherNS}c2'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1.{}c2'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2350"></a><tt class="py-lineno">2350</tt> <tt class="py-line"> <tt id="link-2483" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2483', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-2484" class="py-name"><a title="lxml.objectify.ObjectifiedElement.descendantpaths" class="py-name" href="#" onclick="return doclink('link-2484', 'descendantpaths', 'link-2479');">descendantpaths</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2351"></a><tt class="py-lineno">2351</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_descendant_paths_prefix"></a><div id="ObjectifyTestCase.test_descendant_paths_prefix-def"><a name="L2352"></a><tt class="py-lineno">2352</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_descendant_paths_prefix-toggle" onclick="return toggle('ObjectifyTestCase.test_descendant_paths_prefix');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths_prefix">test_descendant_paths_prefix</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_descendant_paths_prefix-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_descendant_paths_prefix-expanded"><a name="L2353"></a><tt class="py-lineno">2353</tt> <tt class="py-line"> <tt id="link-2485" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2485', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2486" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2486', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2487" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2517', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2390"></a><tt class="py-lineno">2390</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2391"></a><tt class="py-lineno">2391</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1.c2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2392"></a><tt class="py-lineno">2392</tt> <tt class="py-line"> <tt class="py-string">'{objectified}c1.c2[1]'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1.c2[2]'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2393"></a><tt class="py-lineno">2393</tt> <tt class="py-line"> <tt class="py-string">'{objectified}c1.{otherNS}c2'</tt><tt class="py-op">,</tt> <tt class="py-string">'{objectified}c1.{}c2'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2394"></a><tt class="py-lineno">2394</tt> <tt class="py-line"> <tt id="link-2518" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2518', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-2519" class="py-name"><a title="lxml.objectify.ObjectifiedElement.descendantpaths" class="py-name" href="#" onclick="return doclink('link-2519', 'descendantpaths', 'link-2514');">descendantpaths</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2395"></a><tt class="py-lineno">2395</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_descendant_paths_prefix"></a><div id="ObjectifyTestCase.test_descendant_paths_prefix-def"><a name="L2396"></a><tt class="py-lineno">2396</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_descendant_paths_prefix-toggle" onclick="return toggle('ObjectifyTestCase.test_descendant_paths_prefix');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_descendant_paths_prefix">test_descendant_paths_prefix</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_descendant_paths_prefix-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_descendant_paths_prefix-expanded"><a name="L2397"></a><tt class="py-lineno">2397</tt> <tt class="py-line"> <tt id="link-2520" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2520', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2521" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2521', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2522" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2487', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2354"></a><tt class="py-lineno">2354</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2355"></a><tt class="py-lineno">2355</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'root.{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'root.{objectified}c1.c2'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2356"></a><tt class="py-lineno">2356</tt> <tt class="py-line"> <tt class="py-string">'root.{objectified}c1.c2[1]'</tt><tt class="py-op">,</tt> <tt class="py-string">'root.{objectified}c1.c2[2]'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2357"></a><tt class="py-lineno">2357</tt> <tt class="py-line"> <tt class="py-string">'root.{objectified}c1.{otherNS}c2'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2358"></a><tt class="py-lineno">2358</tt> <tt class="py-line"> <tt class="py-string">'root.{objectified}c1.{}c2'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2359"></a><tt class="py-lineno">2359</tt> <tt class="py-line"> <tt id="link-2488" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2488', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-2489" class="py-name"><a title="lxml.objectify.ObjectifiedElement.descendantpaths" class="py-name" href="#" onclick="return doclink('link-2489', 'descendantpaths', 'link-2479');">descendantpaths</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2360"></a><tt class="py-lineno">2360</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pickle"></a><div id="ObjectifyTestCase.test_pickle-def"><a name="L2361"></a><tt class="py-lineno">2361</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle">test_pickle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pickle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle-expanded"><a name="L2362"></a><tt class="py-lineno">2362</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">pickle</tt> </tt>
-<a name="L2363"></a><tt class="py-lineno">2363</tt> <tt class="py-line"> </tt>
-<a name="L2364"></a><tt class="py-lineno">2364</tt> <tt class="py-line"> <tt id="link-2490" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2490', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2491" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2491', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2492" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2522', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2398"></a><tt class="py-lineno">2398</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2399"></a><tt class="py-lineno">2399</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt class="py-string">'root.{objectified}c1'</tt><tt class="py-op">,</tt> <tt class="py-string">'root.{objectified}c1.c2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2400"></a><tt class="py-lineno">2400</tt> <tt class="py-line"> <tt class="py-string">'root.{objectified}c1.c2[1]'</tt><tt class="py-op">,</tt> <tt class="py-string">'root.{objectified}c1.c2[2]'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2401"></a><tt class="py-lineno">2401</tt> <tt class="py-line"> <tt class="py-string">'root.{objectified}c1.{otherNS}c2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2402"></a><tt class="py-lineno">2402</tt> <tt class="py-line"> <tt class="py-string">'root.{objectified}c1.{}c2'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2403"></a><tt class="py-lineno">2403</tt> <tt class="py-line"> <tt id="link-2523" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2523', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-2524" class="py-name"><a title="lxml.objectify.ObjectifiedElement.descendantpaths" class="py-name" href="#" onclick="return doclink('link-2524', 'descendantpaths', 'link-2514');">descendantpaths</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2404"></a><tt class="py-lineno">2404</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pickle"></a><div id="ObjectifyTestCase.test_pickle-def"><a name="L2405"></a><tt class="py-lineno">2405</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle">test_pickle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pickle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle-expanded"><a name="L2406"></a><tt class="py-lineno">2406</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">pickle</tt> </tt>
+<a name="L2407"></a><tt class="py-lineno">2407</tt> <tt class="py-line"> </tt>
+<a name="L2408"></a><tt class="py-lineno">2408</tt> <tt class="py-line"> <tt id="link-2525" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2525', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2526" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2526', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2527" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2492', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2365"></a><tt class="py-lineno">2365</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2366"></a><tt class="py-lineno">2366</tt> <tt class="py-line"> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-2493" class="py-name" targets="Function lxml.etree.dump()=lxml.etree-module.html#dump,Function lxml.objectify.dump()=lxml.objectify-module.html#dump"><a title="lxml.etree.dump
-lxml.objectify.dump" class="py-name" href="#" onclick="return doclink('link-2493', 'dump', 'link-2493');">dump</a></tt><tt class="py-op">(</tt><tt id="link-2494" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2494', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L2367"></a><tt class="py-lineno">2367</tt> <tt class="py-line"> </tt>
-<a name="L2368"></a><tt class="py-lineno">2368</tt> <tt class="py-line"> <tt class="py-name">new_root</tt> <tt class="py-op">=</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2369"></a><tt class="py-lineno">2369</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2370"></a><tt class="py-lineno">2370</tt> <tt class="py-line"> <tt id="link-2495" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2527', 'xml_str', 'link-59');">xml_str</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2409"></a><tt class="py-lineno">2409</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2410"></a><tt class="py-lineno">2410</tt> <tt class="py-line"> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-2528" class="py-name" targets="Function lxml.etree.dump()=lxml.etree-module.html#dump,Function lxml.objectify.dump()=lxml.objectify-module.html#dump"><a title="lxml.etree.dump
+lxml.objectify.dump" class="py-name" href="#" onclick="return doclink('link-2528', 'dump', 'link-2528');">dump</a></tt><tt class="py-op">(</tt><tt id="link-2529" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2529', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
+<a name="L2411"></a><tt class="py-lineno">2411</tt> <tt class="py-line"> </tt>
+<a name="L2412"></a><tt class="py-lineno">2412</tt> <tt class="py-line"> <tt class="py-name">new_root</tt> <tt class="py-op">=</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2413"></a><tt class="py-lineno">2413</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2414"></a><tt class="py-lineno">2414</tt> <tt class="py-line"> <tt id="link-2530" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2495', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2496" class="py-name" targets="Method lxml.etree.XSLT.tostring()=lxml.etree.XSLT-class.html#tostring,Function lxml.etree.tostring()=lxml.etree-module.html#tostring"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2496', 'tostring', 'link-2496');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">new_root</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2371"></a><tt class="py-lineno">2371</tt> <tt class="py-line"> <tt id="link-2497" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2530', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2531" class="py-name" targets="Method lxml.etree.XSLT.tostring()=lxml.etree.XSLT-class.html#tostring,Function lxml.etree.tostring()=lxml.etree-module.html#tostring"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2531', 'tostring', 'link-2531');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">new_root</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2415"></a><tt class="py-lineno">2415</tt> <tt class="py-line"> <tt id="link-2532" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2497', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2498" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2498', 'tostring', 'link-2496');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-2499" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2499', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2372"></a><tt class="py-lineno">2372</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pickle_elementtree"></a><div id="ObjectifyTestCase.test_pickle_elementtree-def"><a name="L2373"></a><tt class="py-lineno">2373</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_elementtree-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_elementtree');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_elementtree">test_pickle_elementtree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pickle_elementtree-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_elementtree-expanded"><a name="L2374"></a><tt class="py-lineno">2374</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">pickle</tt> </tt>
-<a name="L2375"></a><tt class="py-lineno">2375</tt> <tt class="py-line"> </tt>
-<a name="L2376"></a><tt class="py-lineno">2376</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2500" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2532', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2533" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2533', 'tostring', 'link-2531');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-2534" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2534', 'root', 'link-144');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2416"></a><tt class="py-lineno">2416</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pickle_elementtree"></a><div id="ObjectifyTestCase.test_pickle_elementtree-def"><a name="L2417"></a><tt class="py-lineno">2417</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_elementtree-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_elementtree');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_elementtree">test_pickle_elementtree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pickle_elementtree-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_elementtree-expanded"><a name="L2418"></a><tt class="py-lineno">2418</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">pickle</tt> </tt>
+<a name="L2419"></a><tt class="py-lineno">2419</tt> <tt class="py-line"> </tt>
+<a name="L2420"></a><tt class="py-lineno">2420</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2535" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2500', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2501" class="py-name" targets="Function lxml.etree.ElementTree()=lxml.etree-module.html#ElementTree,Module xml.etree.ElementTree=xml.etree.ElementTree-module.html,Class xml.etree.ElementTree.ElementTree=xml.etree.ElementTree.ElementTree-class.html"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2535', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2536" class="py-name" targets="Function lxml.etree.ElementTree()=lxml.etree-module.html#ElementTree,Module xml.etree.ElementTree=xml.etree.ElementTree-module.html,Class xml.etree.ElementTree.ElementTree=xml.etree.ElementTree.ElementTree-class.html"><a title="lxml.etree.ElementTree
xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2501', 'ElementTree', 'link-2501');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2502" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2536', 'ElementTree', 'link-2536');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2537" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2502', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2503" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2537', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2538" class="py-name"><a title="lxml.tests.test_classlookup.xml_str
lxml.tests.test_objectify.xml_str
-lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2503', 'xml_str', 'link-59');">xml_str</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"<?my pi?>"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2377"></a><tt class="py-lineno">2377</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2378"></a><tt class="py-lineno">2378</tt> <tt class="py-line"> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-2504" class="py-name"><a title="lxml.etree.dump
-lxml.objectify.dump" class="py-name" href="#" onclick="return doclink('link-2504', 'dump', 'link-2493');">dump</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L2379"></a><tt class="py-lineno">2379</tt> <tt class="py-line"> </tt>
-<a name="L2380"></a><tt class="py-lineno">2380</tt> <tt class="py-line"> <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2381"></a><tt class="py-lineno">2381</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">new_tree</tt><tt class="py-op">,</tt> <tt id="link-2505" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.xml_str" class="py-name" href="#" onclick="return doclink('link-2538', 'xml_str', 'link-59');">xml_str</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"<?my pi?>"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2421"></a><tt class="py-lineno">2421</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2422"></a><tt class="py-lineno">2422</tt> <tt class="py-line"> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-2539" class="py-name"><a title="lxml.etree.dump
+lxml.objectify.dump" class="py-name" href="#" onclick="return doclink('link-2539', 'dump', 'link-2528');">dump</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
+<a name="L2423"></a><tt class="py-lineno">2423</tt> <tt class="py-line"> </tt>
+<a name="L2424"></a><tt class="py-lineno">2424</tt> <tt class="py-line"> <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2425"></a><tt class="py-lineno">2425</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">new_tree</tt><tt class="py-op">,</tt> <tt id="link-2540" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2505', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2506" class="py-name" targets="Class lxml.etree._ElementTree=lxml.etree._ElementTree-class.html"><a title="lxml.etree._ElementTree" class="py-name" href="#" onclick="return doclink('link-2506', '_ElementTree', 'link-2506');">_ElementTree</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2382"></a><tt class="py-lineno">2382</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2383"></a><tt class="py-lineno">2383</tt> <tt class="py-line"> <tt id="link-2507" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2540', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2541" class="py-name" targets="Class lxml.etree._ElementTree=lxml.etree._ElementTree-class.html"><a title="lxml.etree._ElementTree" class="py-name" href="#" onclick="return doclink('link-2541', '_ElementTree', 'link-2541');">_ElementTree</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2426"></a><tt class="py-lineno">2426</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2427"></a><tt class="py-lineno">2427</tt> <tt class="py-line"> <tt id="link-2542" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2507', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2508" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2508', 'tostring', 'link-2496');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">new_tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2384"></a><tt class="py-lineno">2384</tt> <tt class="py-line"> <tt id="link-2509" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2542', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2543" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2543', 'tostring', 'link-2531');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">new_tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2428"></a><tt class="py-lineno">2428</tt> <tt class="py-line"> <tt id="link-2544" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2509', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2510" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2510', 'tostring', 'link-2496');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2385"></a><tt class="py-lineno">2385</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pickle_intelement"></a><div id="ObjectifyTestCase.test_pickle_intelement-def"><a name="L2386"></a><tt class="py-lineno">2386</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_intelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_intelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_intelement">test_pickle_intelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pickle_intelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_intelement-expanded"><a name="L2387"></a><tt class="py-lineno">2387</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2511" class="py-name" targets="Method lxml.tests.test_objectify.ObjectifyTestCase._test_pickle()=lxml.tests.test_objectify.ObjectifyTestCase-class.html#_test_pickle"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2511', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>42</x>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2388"></a><tt class="py-lineno">2388</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2512" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2512', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2513" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2513', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2514" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2514', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">42</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2389"></a><tt class="py-lineno">2389</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pickle_floattelement"></a><div id="ObjectifyTestCase.test_pickle_floattelement-def"><a name="L2390"></a><tt class="py-lineno">2390</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_floattelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_floattelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_floattelement">test_pickle_floattelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pickle_floattelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_floattelement-expanded"><a name="L2391"></a><tt class="py-lineno">2391</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2515" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2515', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>42.0</x>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2392"></a><tt class="py-lineno">2392</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2516" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2516', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2517" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2517', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2518" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2518', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">42.0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2393"></a><tt class="py-lineno">2393</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pickle_strelement"></a><div id="ObjectifyTestCase.test_pickle_strelement-def"><a name="L2394"></a><tt class="py-lineno">2394</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_strelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_strelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_strelement">test_pickle_strelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pickle_strelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_strelement-expanded"><a name="L2395"></a><tt class="py-lineno">2395</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2519" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2519', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>Pickle me!</x>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2396"></a><tt class="py-lineno">2396</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2520" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2520', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2521" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2521', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2522" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2522', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'Pickle me!'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2397"></a><tt class="py-lineno">2397</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pickle_boolelement"></a><div id="ObjectifyTestCase.test_pickle_boolelement-def"><a name="L2398"></a><tt class="py-lineno">2398</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_boolelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_boolelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_boolelement">test_pickle_boolelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pickle_boolelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_boolelement-expanded"><a name="L2399"></a><tt class="py-lineno">2399</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2523" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2523', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>true</x>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2400"></a><tt class="py-lineno">2400</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2524" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2524', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>false</x>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2401"></a><tt class="py-lineno">2401</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2525" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2525', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2526" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2526', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2527" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2527', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2402"></a><tt class="py-lineno">2402</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2528" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2528', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2529" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2529', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2530" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2530', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2403"></a><tt class="py-lineno">2403</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_pickle_noneelement"></a><div id="ObjectifyTestCase.test_pickle_noneelement-def"><a name="L2404"></a><tt class="py-lineno">2404</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_noneelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_noneelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_noneelement">test_pickle_noneelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_pickle_noneelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_noneelement-expanded"><a name="L2405"></a><tt class="py-lineno">2405</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2531" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2531', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
-<a name="L2406"></a><tt class="py-lineno">2406</tt> <tt class="py-line"><tt class="py-string"><x xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L2407"></a><tt class="py-lineno">2407</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2532" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2532', '_test_pickle', 'link-2511');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2533" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2533', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2534" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2534', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2408"></a><tt class="py-lineno">2408</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase._test_pickle"></a><div id="ObjectifyTestCase._test_pickle-def"><a name="L2409"></a><tt class="py-lineno">2409</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase._test_pickle-toggle" onclick="return toggle('ObjectifyTestCase._test_pickle');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#_test_pickle">_test_pickle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">stringOrElt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase._test_pickle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase._test_pickle-expanded"><a name="L2410"></a><tt class="py-lineno">2410</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">pickle</tt> </tt>
-<a name="L2411"></a><tt class="py-lineno">2411</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">stringOrElt</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-2535" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2544', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2545" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2545', 'tostring', 'link-2531');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2429"></a><tt class="py-lineno">2429</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pickle_intelement"></a><div id="ObjectifyTestCase.test_pickle_intelement-def"><a name="L2430"></a><tt class="py-lineno">2430</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_intelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_intelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_intelement">test_pickle_intelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pickle_intelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_intelement-expanded"><a name="L2431"></a><tt class="py-lineno">2431</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2546" class="py-name" targets="Method lxml.tests.test_objectify.ObjectifyTestCase._test_pickle()=lxml.tests.test_objectify.ObjectifyTestCase-class.html#_test_pickle"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2546', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>42</x>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2432"></a><tt class="py-lineno">2432</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2547" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2547', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2548" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2548', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2549" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2549', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">42</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2433"></a><tt class="py-lineno">2433</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pickle_floattelement"></a><div id="ObjectifyTestCase.test_pickle_floattelement-def"><a name="L2434"></a><tt class="py-lineno">2434</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_floattelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_floattelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_floattelement">test_pickle_floattelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pickle_floattelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_floattelement-expanded"><a name="L2435"></a><tt class="py-lineno">2435</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2550" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2550', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>42.0</x>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2436"></a><tt class="py-lineno">2436</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2551" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2551', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2552" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2552', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2553" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2553', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">42.0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2437"></a><tt class="py-lineno">2437</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pickle_strelement"></a><div id="ObjectifyTestCase.test_pickle_strelement-def"><a name="L2438"></a><tt class="py-lineno">2438</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_strelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_strelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_strelement">test_pickle_strelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pickle_strelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_strelement-expanded"><a name="L2439"></a><tt class="py-lineno">2439</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2554" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2554', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>Pickle me!</x>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2440"></a><tt class="py-lineno">2440</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2555" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2555', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2556" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2556', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2557" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2557', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'Pickle me!'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2441"></a><tt class="py-lineno">2441</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pickle_boolelement"></a><div id="ObjectifyTestCase.test_pickle_boolelement-def"><a name="L2442"></a><tt class="py-lineno">2442</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_boolelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_boolelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_boolelement">test_pickle_boolelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pickle_boolelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_boolelement-expanded"><a name="L2443"></a><tt class="py-lineno">2443</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2558" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2558', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>true</x>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2444"></a><tt class="py-lineno">2444</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2559" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2559', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'<x>false</x>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2445"></a><tt class="py-lineno">2445</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2560" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2560', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2561" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2561', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2562" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2562', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2446"></a><tt class="py-lineno">2446</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2563" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2563', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2564" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2564', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2565" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2565', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2447"></a><tt class="py-lineno">2447</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_pickle_noneelement"></a><div id="ObjectifyTestCase.test_pickle_noneelement-def"><a name="L2448"></a><tt class="py-lineno">2448</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_pickle_noneelement-toggle" onclick="return toggle('ObjectifyTestCase.test_pickle_noneelement');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_pickle_noneelement">test_pickle_noneelement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_pickle_noneelement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_pickle_noneelement-expanded"><a name="L2449"></a><tt class="py-lineno">2449</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2566" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2566', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
+<a name="L2450"></a><tt class="py-lineno">2450</tt> <tt class="py-line"><tt class="py-string"><x xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L2451"></a><tt class="py-lineno">2451</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2567" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase._test_pickle" class="py-name" href="#" onclick="return doclink('link-2567', '_test_pickle', 'link-2546');">_test_pickle</a></tt><tt class="py-op">(</tt><tt id="link-2568" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2568', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2569" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2569', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2452"></a><tt class="py-lineno">2452</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase._test_pickle"></a><div id="ObjectifyTestCase._test_pickle-def"><a name="L2453"></a><tt class="py-lineno">2453</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase._test_pickle-toggle" onclick="return toggle('ObjectifyTestCase._test_pickle');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#_test_pickle">_test_pickle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">stringOrElt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase._test_pickle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase._test_pickle-expanded"><a name="L2454"></a><tt class="py-lineno">2454</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">pickle</tt> </tt>
+<a name="L2455"></a><tt class="py-lineno">2455</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">stringOrElt</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-2570" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2535', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2536" class="py-name" targets="Class lxml.etree._Element=lxml.etree._Element-class.html"><a title="lxml.etree._Element" class="py-name" href="#" onclick="return doclink('link-2536', '_Element', 'link-2536');">_Element</a></tt><tt class="py-op">,</tt> <tt id="link-2537" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2570', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2571" class="py-name" targets="Class lxml.etree._Element=lxml.etree._Element-class.html"><a title="lxml.etree._Element" class="py-name" href="#" onclick="return doclink('link-2571', '_Element', 'link-2571');">_Element</a></tt><tt class="py-op">,</tt> <tt id="link-2572" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2537', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2538" class="py-name"><a title="lxml.etree._ElementTree" class="py-name" href="#" onclick="return doclink('link-2538', '_ElementTree', 'link-2506');">_ElementTree</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L2412"></a><tt class="py-lineno">2412</tt> <tt class="py-line"> <tt class="py-name">elt</tt> <tt class="py-op">=</tt> <tt class="py-name">stringOrElt</tt> </tt>
-<a name="L2413"></a><tt class="py-lineno">2413</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L2414"></a><tt class="py-lineno">2414</tt> <tt class="py-line"> <tt class="py-name">elt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2539" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2539', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">stringOrElt</tt><tt class="py-op">)</tt> </tt>
-<a name="L2415"></a><tt class="py-lineno">2415</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2416"></a><tt class="py-lineno">2416</tt> <tt class="py-line"> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-2540" class="py-name"><a title="lxml.etree.dump
-lxml.objectify.dump" class="py-name" href="#" onclick="return doclink('link-2540', 'dump', 'link-2493');">dump</a></tt><tt class="py-op">(</tt><tt class="py-name">elt</tt><tt class="py-op">,</tt> <tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
-<a name="L2417"></a><tt class="py-lineno">2417</tt> <tt class="py-line"> </tt>
-<a name="L2418"></a><tt class="py-lineno">2418</tt> <tt class="py-line"> <tt class="py-name">new_elt</tt> <tt class="py-op">=</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2419"></a><tt class="py-lineno">2419</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2420"></a><tt class="py-lineno">2420</tt> <tt class="py-line"> <tt id="link-2541" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2572', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2573" class="py-name"><a title="lxml.etree._ElementTree" class="py-name" href="#" onclick="return doclink('link-2573', '_ElementTree', 'link-2541');">_ElementTree</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2456"></a><tt class="py-lineno">2456</tt> <tt class="py-line"> <tt class="py-name">elt</tt> <tt class="py-op">=</tt> <tt class="py-name">stringOrElt</tt> </tt>
+<a name="L2457"></a><tt class="py-lineno">2457</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2458"></a><tt class="py-lineno">2458</tt> <tt class="py-line"> <tt class="py-name">elt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2574" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2574', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">stringOrElt</tt><tt class="py-op">)</tt> </tt>
+<a name="L2459"></a><tt class="py-lineno">2459</tt> <tt class="py-line"> <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2460"></a><tt class="py-lineno">2460</tt> <tt class="py-line"> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt id="link-2575" class="py-name"><a title="lxml.etree.dump
+lxml.objectify.dump" class="py-name" href="#" onclick="return doclink('link-2575', 'dump', 'link-2528');">dump</a></tt><tt class="py-op">(</tt><tt class="py-name">elt</tt><tt class="py-op">,</tt> <tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
+<a name="L2461"></a><tt class="py-lineno">2461</tt> <tt class="py-line"> </tt>
+<a name="L2462"></a><tt class="py-lineno">2462</tt> <tt class="py-line"> <tt class="py-name">new_elt</tt> <tt class="py-op">=</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2463"></a><tt class="py-lineno">2463</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2464"></a><tt class="py-lineno">2464</tt> <tt class="py-line"> <tt id="link-2576" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2541', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2542" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2542', 'tostring', 'link-2496');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">new_elt</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2421"></a><tt class="py-lineno">2421</tt> <tt class="py-line"> <tt id="link-2543" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2576', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2577" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2577', 'tostring', 'link-2531');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">new_elt</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2465"></a><tt class="py-lineno">2465</tt> <tt class="py-line"> <tt id="link-2578" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2543', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2544" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2544', 'tostring', 'link-2496');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">elt</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2422"></a><tt class="py-lineno">2422</tt> <tt class="py-line"> </tt>
-<a name="L2423"></a><tt class="py-lineno">2423</tt> <tt class="py-line"> <tt class="py-comment"># E-Factory tests, need to use sub-elements as root element is always</tt> </tt>
-<a name="L2424"></a><tt class="py-lineno">2424</tt> <tt class="py-line"> <tt class="py-comment"># type-looked-up as ObjectifiedElement (no annotations)</tt> </tt>
-<a name="ObjectifyTestCase.test_efactory_int"></a><div id="ObjectifyTestCase.test_efactory_int-def"><a name="L2425"></a><tt class="py-lineno">2425</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_int-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_int');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_int">test_efactory_int</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_int-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_int-expanded"><a name="L2426"></a><tt class="py-lineno">2426</tt> <tt class="py-line"> <tt id="link-2545" class="py-name"><a title="lxml.builder.E
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2578', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2579" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2579', 'tostring', 'link-2531');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">elt</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2466"></a><tt class="py-lineno">2466</tt> <tt class="py-line"> </tt>
+<a name="L2467"></a><tt class="py-lineno">2467</tt> <tt class="py-line"> <tt class="py-comment"># E-Factory tests, need to use sub-elements as root element is always</tt> </tt>
+<a name="L2468"></a><tt class="py-lineno">2468</tt> <tt class="py-line"> <tt class="py-comment"># type-looked-up as ObjectifiedElement (no annotations)</tt> </tt>
+<a name="ObjectifyTestCase.test_efactory_int"></a><div id="ObjectifyTestCase.test_efactory_int-def"><a name="L2469"></a><tt class="py-lineno">2469</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_int-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_int');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_int">test_efactory_int</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_int-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_int-expanded"><a name="L2470"></a><tt class="py-lineno">2470</tt> <tt class="py-line"> <tt id="link-2580" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2545', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2546" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2546', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2547" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2580', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2581" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2581', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2582" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2547', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2427"></a><tt class="py-lineno">2427</tt> <tt class="py-line"> <tt id="link-2548" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2548', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2549" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2582', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2471"></a><tt class="py-lineno">2471</tt> <tt class="py-line"> <tt id="link-2583" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2583', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2584" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2549', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2550" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2550', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2551" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2584', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2585" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2585', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2586" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2551', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-number">23</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2428"></a><tt class="py-lineno">2428</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2552" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2552', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2553" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2553', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2554" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-2554', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2429"></a><tt class="py-lineno">2429</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_float"></a><div id="ObjectifyTestCase.test_efactory_float-def"><a name="L2430"></a><tt class="py-lineno">2430</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_float-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_float');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_float">test_efactory_float</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_float-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_float-expanded"><a name="L2431"></a><tt class="py-lineno">2431</tt> <tt class="py-line"> <tt id="link-2555" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2586', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-number">23</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2472"></a><tt class="py-lineno">2472</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2587" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2587', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2588" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2588', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2589" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-2589', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2473"></a><tt class="py-lineno">2473</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_float"></a><div id="ObjectifyTestCase.test_efactory_float-def"><a name="L2474"></a><tt class="py-lineno">2474</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_float-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_float');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_float">test_efactory_float</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_float-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_float-expanded"><a name="L2475"></a><tt class="py-lineno">2475</tt> <tt class="py-line"> <tt id="link-2590" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2555', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2556" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2556', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2557" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2590', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2591" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2591', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2592" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2557', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2432"></a><tt class="py-lineno">2432</tt> <tt class="py-line"> <tt id="link-2558" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2558', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2559" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2592', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2476"></a><tt class="py-lineno">2476</tt> <tt class="py-line"> <tt id="link-2593" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2593', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2594" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2559', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2560" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2560', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2561" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2594', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2595" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2595', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2596" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2561', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-number">233.23</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2433"></a><tt class="py-lineno">2433</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2562" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2562', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2563" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2563', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2564" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-2564', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2434"></a><tt class="py-lineno">2434</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_str"></a><div id="ObjectifyTestCase.test_efactory_str-def"><a name="L2435"></a><tt class="py-lineno">2435</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_str-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_str');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_str">test_efactory_str</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_str-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_str-expanded"><a name="L2436"></a><tt class="py-lineno">2436</tt> <tt class="py-line"> <tt id="link-2565" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2596', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-number">233.23</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2477"></a><tt class="py-lineno">2477</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2597" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2597', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2598" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2598', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2599" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-2599', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2478"></a><tt class="py-lineno">2478</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_str"></a><div id="ObjectifyTestCase.test_efactory_str-def"><a name="L2479"></a><tt class="py-lineno">2479</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_str-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_str');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_str">test_efactory_str</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_str-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_str-expanded"><a name="L2480"></a><tt class="py-lineno">2480</tt> <tt class="py-line"> <tt id="link-2600" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2565', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2566" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2566', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2567" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2600', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2601" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2601', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2602" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2567', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2437"></a><tt class="py-lineno">2437</tt> <tt class="py-line"> <tt id="link-2568" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2568', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2569" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2602', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2481"></a><tt class="py-lineno">2481</tt> <tt class="py-line"> <tt id="link-2603" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2603', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2604" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2569', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2570" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2570', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2571" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2604', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2605" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2605', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2606" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2571', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-string">"what?"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2438"></a><tt class="py-lineno">2438</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2572" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2572', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2573" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2573', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2574" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2574', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2439"></a><tt class="py-lineno">2439</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_unicode"></a><div id="ObjectifyTestCase.test_efactory_unicode-def"><a name="L2440"></a><tt class="py-lineno">2440</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_unicode-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_unicode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_unicode">test_efactory_unicode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_unicode-expanded"><a name="L2441"></a><tt class="py-lineno">2441</tt> <tt class="py-line"> <tt id="link-2575" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2606', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-string">"what?"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2482"></a><tt class="py-lineno">2482</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2607" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2607', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2608" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2608', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2609" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2609', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2483"></a><tt class="py-lineno">2483</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_unicode"></a><div id="ObjectifyTestCase.test_efactory_unicode-def"><a name="L2484"></a><tt class="py-lineno">2484</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_unicode-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_unicode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_unicode">test_efactory_unicode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_unicode-expanded"><a name="L2485"></a><tt class="py-lineno">2485</tt> <tt class="py-line"> <tt id="link-2610" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2575', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2576" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2576', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2577" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2610', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2611" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2611', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2612" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2577', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2442"></a><tt class="py-lineno">2442</tt> <tt class="py-line"> <tt id="link-2578" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2578', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2579" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2612', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2486"></a><tt class="py-lineno">2486</tt> <tt class="py-line"> <tt id="link-2613" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2613', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2614" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2579', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2580" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2580', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2581" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2614', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2615" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2615', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2616" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2581', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt id="link-2582" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-2582', '_str', 'link-18');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">"blöödy häll"</tt><tt class="py-op">,</tt> <tt id="link-2583" class="py-name" targets="Variable lxml.etree.DocInfo.encoding=lxml.etree.DocInfo-class.html#encoding,Function lxml.tests.selftest.encoding()=lxml.tests.selftest-module.html#encoding,Function lxml.tests.selftest2.encoding()=lxml.tests.selftest2-module.html#encoding"><a title="lxml.etree.DocInfo.encoding
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2616', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt id="link-2617" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-2617', '_str', 'link-18');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">"blöödy häll"</tt><tt class="py-op">,</tt> <tt id="link-2618" class="py-name" targets="Variable lxml.etree.DocInfo.encoding=lxml.etree.DocInfo-class.html#encoding,Function lxml.tests.selftest.encoding()=lxml.tests.selftest-module.html#encoding,Function lxml.tests.selftest2.encoding()=lxml.tests.selftest2-module.html#encoding"><a title="lxml.etree.DocInfo.encoding
lxml.tests.selftest.encoding
-lxml.tests.selftest2.encoding" class="py-name" href="#" onclick="return doclink('link-2583', 'encoding', 'link-2583');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ISO-8859-1"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2443"></a><tt class="py-lineno">2443</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2584" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2584', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2585" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2585', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2586" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2586', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2444"></a><tt class="py-lineno">2444</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_bool"></a><div id="ObjectifyTestCase.test_efactory_bool-def"><a name="L2445"></a><tt class="py-lineno">2445</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_bool-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_bool');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_bool">test_efactory_bool</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_bool-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_bool-expanded"><a name="L2446"></a><tt class="py-lineno">2446</tt> <tt class="py-line"> <tt id="link-2587" class="py-name"><a title="lxml.builder.E
+lxml.tests.selftest2.encoding" class="py-name" href="#" onclick="return doclink('link-2618', 'encoding', 'link-2618');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ISO-8859-1"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2487"></a><tt class="py-lineno">2487</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2619" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2619', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2620" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2620', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2621" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2621', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2488"></a><tt class="py-lineno">2488</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_bool"></a><div id="ObjectifyTestCase.test_efactory_bool-def"><a name="L2489"></a><tt class="py-lineno">2489</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_bool-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_bool');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_bool">test_efactory_bool</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_bool-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_bool-expanded"><a name="L2490"></a><tt class="py-lineno">2490</tt> <tt class="py-line"> <tt id="link-2622" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2587', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2588" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2588', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2589" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2622', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2623" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2623', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2624" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2589', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2447"></a><tt class="py-lineno">2447</tt> <tt class="py-line"> <tt id="link-2590" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2590', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2591" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2624', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2491"></a><tt class="py-lineno">2491</tt> <tt class="py-line"> <tt id="link-2625" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2625', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2626" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2591', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2592" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2592', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2593" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2626', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2627" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2627', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2628" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2593', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2448"></a><tt class="py-lineno">2448</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2594" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2594', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2595" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2595', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2596" class="py-name"><a title="lxml.objectify.BoolElement" class="py-name" href="#" onclick="return doclink('link-2596', 'BoolElement', 'link-39');">BoolElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2449"></a><tt class="py-lineno">2449</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_none"></a><div id="ObjectifyTestCase.test_efactory_none-def"><a name="L2450"></a><tt class="py-lineno">2450</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_none-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_none');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_none">test_efactory_none</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_none-expanded"><a name="L2451"></a><tt class="py-lineno">2451</tt> <tt class="py-line"> <tt id="link-2597" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2628', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2492"></a><tt class="py-lineno">2492</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2629" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2629', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2630" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2630', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2631" class="py-name"><a title="lxml.objectify.BoolElement" class="py-name" href="#" onclick="return doclink('link-2631', 'BoolElement', 'link-39');">BoolElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2493"></a><tt class="py-lineno">2493</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_none"></a><div id="ObjectifyTestCase.test_efactory_none-def"><a name="L2494"></a><tt class="py-lineno">2494</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_none-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_none');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_none">test_efactory_none</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_none-expanded"><a name="L2495"></a><tt class="py-lineno">2495</tt> <tt class="py-line"> <tt id="link-2632" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2597', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2598" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2598', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2599" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2632', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2633" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2633', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2634" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2599', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2452"></a><tt class="py-lineno">2452</tt> <tt class="py-line"> <tt id="link-2600" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2600', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2601" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2634', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2496"></a><tt class="py-lineno">2496</tt> <tt class="py-line"> <tt id="link-2635" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2635', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2636" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2601', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2602" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2602', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2603" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2636', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2637" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2637', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2638" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2603', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2453"></a><tt class="py-lineno">2453</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2604" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2604', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2605" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2605', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2606" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-2606', 'NoneElement', 'link-353');">NoneElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2454"></a><tt class="py-lineno">2454</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_value_concatenation"></a><div id="ObjectifyTestCase.test_efactory_value_concatenation-def"><a name="L2455"></a><tt class="py-lineno">2455</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_value_concatenation-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_value_concatenation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_value_concatenation">test_efactory_value_concatenation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_value_concatenation-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_value_concatenation-expanded"><a name="L2456"></a><tt class="py-lineno">2456</tt> <tt class="py-line"> <tt id="link-2607" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2638', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2497"></a><tt class="py-lineno">2497</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2639" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2639', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2640" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2640', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2641" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-2641', 'NoneElement', 'link-353');">NoneElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2498"></a><tt class="py-lineno">2498</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_value_concatenation"></a><div id="ObjectifyTestCase.test_efactory_value_concatenation-def"><a name="L2499"></a><tt class="py-lineno">2499</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_value_concatenation-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_value_concatenation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_value_concatenation">test_efactory_value_concatenation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_value_concatenation-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_value_concatenation-expanded"><a name="L2500"></a><tt class="py-lineno">2500</tt> <tt class="py-line"> <tt id="link-2642" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2607', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2608" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2608', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2609" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2642', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2643" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2643', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2644" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2609', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2457"></a><tt class="py-lineno">2457</tt> <tt class="py-line"> <tt id="link-2610" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2610', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2611" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2644', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2501"></a><tt class="py-lineno">2501</tt> <tt class="py-line"> <tt id="link-2645" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2645', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2646" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2611', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2612" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2612', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2613" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2646', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2647" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2647', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt id="link-2648" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2613', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">"foo"</tt><tt class="py-op">,</tt> <tt class="py-number">2.0</tt><tt class="py-op">,</tt> <tt class="py-string">"bar "</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2458"></a><tt class="py-lineno">2458</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2614" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2614', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2615" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2615', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2616" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2616', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2459"></a><tt class="py-lineno">2459</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_attrib"></a><div id="ObjectifyTestCase.test_efactory_attrib-def"><a name="L2460"></a><tt class="py-lineno">2460</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_attrib-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_attrib');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_attrib">test_efactory_attrib</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_attrib-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_attrib-expanded"><a name="L2461"></a><tt class="py-lineno">2461</tt> <tt class="py-line"> <tt id="link-2617" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2648', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">"foo"</tt><tt class="py-op">,</tt> <tt class="py-number">2.0</tt><tt class="py-op">,</tt> <tt class="py-string">"bar "</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2502"></a><tt class="py-lineno">2502</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2649" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2649', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">val</tt><tt class="py-op">,</tt> <tt id="link-2650" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2650', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2651" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2651', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2503"></a><tt class="py-lineno">2503</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_attrib"></a><div id="ObjectifyTestCase.test_efactory_attrib-def"><a name="L2504"></a><tt class="py-lineno">2504</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_attrib-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_attrib');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_attrib">test_efactory_attrib</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_attrib-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_attrib-expanded"><a name="L2505"></a><tt class="py-lineno">2505</tt> <tt class="py-line"> <tt id="link-2652" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2617', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2618" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2618', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2619" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2652', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2653" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2653', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2654" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2619', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2462"></a><tt class="py-lineno">2462</tt> <tt class="py-line"> <tt id="link-2620" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2620', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2621" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2654', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2506"></a><tt class="py-lineno">2506</tt> <tt class="py-line"> <tt id="link-2655" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2655', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2656" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2621', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2622" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2622', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt class="py-name">foo</tt><tt class="py-op">=</tt><tt class="py-string">"bar"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2463"></a><tt class="py-lineno">2463</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2623" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2623', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2624" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2656', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2657" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2657', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt class="py-name">foo</tt><tt class="py-op">=</tt><tt class="py-string">"bar"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2507"></a><tt class="py-lineno">2507</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2658" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2658', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2659" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2624', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"foo"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"bar"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2464"></a><tt class="py-lineno">2464</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_nested"></a><div id="ObjectifyTestCase.test_efactory_nested-def"><a name="L2465"></a><tt class="py-lineno">2465</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_nested-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_nested');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_nested">test_efactory_nested</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_nested-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_nested-expanded"><a name="L2466"></a><tt class="py-lineno">2466</tt> <tt class="py-line"> <tt id="link-2625" class="py-name"><a title="lxml.builder.E
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2659', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"foo"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"bar"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2508"></a><tt class="py-lineno">2508</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_nested"></a><div id="ObjectifyTestCase.test_efactory_nested-def"><a name="L2509"></a><tt class="py-lineno">2509</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_nested-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_nested');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_nested">test_efactory_nested</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_nested-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_nested-expanded"><a name="L2510"></a><tt class="py-lineno">2510</tt> <tt class="py-line"> <tt id="link-2660" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2625', 'E', 'link-1813');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2626" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2626', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2627" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2660', 'E', 'link-1848');">E</a></tt> <tt class="py-op">=</tt> <tt id="link-2661" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2661', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2662" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2627', 'E', 'link-1813');">E</a></tt> </tt>
-<a name="L2467"></a><tt class="py-lineno">2467</tt> <tt class="py-line"> <tt id="link-2628" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2628', 'DataElement', 'link-198');">DataElement</a></tt> <tt class="py-op">=</tt> <tt id="link-2629" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2629', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2630" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2630', 'DataElement', 'link-198');">DataElement</a></tt> </tt>
-<a name="L2468"></a><tt class="py-lineno">2468</tt> <tt class="py-line"> <tt id="link-2631" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2631', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2632" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2662', 'E', 'link-1848');">E</a></tt> </tt>
+<a name="L2511"></a><tt class="py-lineno">2511</tt> <tt class="py-line"> <tt id="link-2663" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2663', 'DataElement', 'link-198');">DataElement</a></tt> <tt class="py-op">=</tt> <tt id="link-2664" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2664', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2665" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2665', 'DataElement', 'link-198');">DataElement</a></tt> </tt>
+<a name="L2512"></a><tt class="py-lineno">2512</tt> <tt class="py-line"> <tt id="link-2666" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2666', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2667" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2632', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt id="link-2633" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2633', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt id="link-2634" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2667', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt id="link-2668" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2668', 'root', 'link-144');">root</a></tt><tt class="py-op">(</tt><tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt id="link-2669" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2634', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt id="link-2635" class="py-name"><a title="lxml.builder.E
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2669', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt id="link-2670" class="py-name"><a title="lxml.builder.E
lxml.html.builder.E
-lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2635', 'E', 'link-1813');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">subsub</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> <tt id="link-2636" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2636', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2469"></a><tt class="py-lineno">2469</tt> <tt class="py-line"> <tt id="link-2637" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2637', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">2.0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2470"></a><tt class="py-lineno">2470</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2638" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2638', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt id="link-2639" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2639', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2640" class="py-name"><a title="lxml.objectify.ObjectifiedElement" class="py-name" href="#" onclick="return doclink('link-2640', 'ObjectifiedElement', 'link-314');">ObjectifiedElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2471"></a><tt class="py-lineno">2471</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2641" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2641', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2642" class="py-name"><a title="lxml.etree.QName.text
+lxml.objectify.E" class="py-name" href="#" onclick="return doclink('link-2670', 'E', 'link-1848');">E</a></tt><tt class="py-op">.</tt><tt class="py-name">subsub</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> <tt id="link-2671" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2671', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2513"></a><tt class="py-lineno">2513</tt> <tt class="py-line"> <tt id="link-2672" class="py-name"><a title="lxml.objectify.DataElement" class="py-name" href="#" onclick="return doclink('link-2672', 'DataElement', 'link-198');">DataElement</a></tt><tt class="py-op">(</tt><tt class="py-number">2.0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2514"></a><tt class="py-lineno">2514</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2673" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2673', 'root', 'link-144');">root</a></tt><tt class="py-op">,</tt> <tt id="link-2674" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2674', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2675" class="py-name"><a title="lxml.objectify.ObjectifiedElement" class="py-name" href="#" onclick="return doclink('link-2675', 'ObjectifiedElement', 'link-314');">ObjectifiedElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2515"></a><tt class="py-lineno">2515</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2676" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2676', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2677" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2642', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2472"></a><tt class="py-lineno">2472</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2643" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2643', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">,</tt> <tt id="link-2644" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2644', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2645" class="py-name"><a title="lxml.objectify.ObjectifiedElement" class="py-name" href="#" onclick="return doclink('link-2645', 'ObjectifiedElement', 'link-314');">ObjectifiedElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2473"></a><tt class="py-lineno">2473</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2646" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2646', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2647" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2647', 'tail', 'link-319');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2474"></a><tt class="py-lineno">2474</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2648" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2648', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">subsub</tt><tt class="py-op">,</tt> <tt id="link-2649" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2649', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2650" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2650', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2475"></a><tt class="py-lineno">2475</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2651" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2651', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2652" class="py-name"><a title="lxml.html.CheckboxGroup.value
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2677', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2516"></a><tt class="py-lineno">2516</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2678" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2678', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">,</tt> <tt id="link-2679" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2679', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2680" class="py-name"><a title="lxml.objectify.ObjectifiedElement" class="py-name" href="#" onclick="return doclink('link-2680', 'ObjectifiedElement', 'link-314');">ObjectifiedElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2517"></a><tt class="py-lineno">2517</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2681" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2681', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2682" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2682', 'tail', 'link-319');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2518"></a><tt class="py-lineno">2518</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2683" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2683', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">subsub</tt><tt class="py-op">,</tt> <tt id="link-2684" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2684', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2685" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2685', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2519"></a><tt class="py-lineno">2519</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-2686" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2686', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2687" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-2652', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L2476"></a><tt class="py-lineno">2476</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2653" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2653', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2654" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-2687', 'value', 'link-196');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L2520"></a><tt class="py-lineno">2520</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2688" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2688', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2689" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-2654', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-2655" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2655', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2656" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-2656', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2477"></a><tt class="py-lineno">2477</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2657" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2657', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2658" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-2689', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-2690" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2690', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2691" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-2691', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2521"></a><tt class="py-lineno">2521</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2692" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2692', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2693" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-2658', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-2659" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2659', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2660" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-2660', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2478"></a><tt class="py-lineno">2478</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_efactory_subtype"></a><div id="ObjectifyTestCase.test_efactory_subtype-def"><a name="L2479"></a><tt class="py-lineno">2479</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_subtype-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_subtype');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_subtype">test_efactory_subtype</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_efactory_subtype-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_subtype-expanded"><a name="L2480"></a><tt class="py-lineno">2480</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">Attribute</tt><tt class="py-op">(</tt><tt class="py-base-class">objectify</tt><tt class="py-op">.</tt><tt class="py-base-class">ObjectifiedDataElement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L2481"></a><tt class="py-lineno">2481</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">__init__</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L2482"></a><tt class="py-lineno">2482</tt> <tt class="py-line"> <tt id="link-2661" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2661', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2662" class="py-name"><a title="lxml.objectify.ObjectifiedDataElement" class="py-name" href="#" onclick="return doclink('link-2662', 'ObjectifiedDataElement', 'link-309');">ObjectifiedDataElement</a></tt><tt class="py-op">.</tt><tt id="link-2663" class="py-name" targets="Method lxml.builder.ElementMaker.__init__()=lxml.builder.ElementMaker-class.html#__init__,Method lxml.cssselect.CSSSelector.__init__()=lxml.cssselect.CSSSelector-class.html#__init__,Method lxml.doctestcompare._RestoreChecker.__init__()=lxml.doctestcompare._RestoreChecker-class.html#__init__,Method lxml.etree.AttributeBasedElementClassLookup.__init__()=lxml.etree.AttributeBasedElementClassLookup-class.html#__init__,Method lxml.etree.CommentBase.__init__()=lxml.etree.CommentBase-class.html#__init__,Method lxml.etree.DTD.__init__()=lxml.etree.DTD-class.html#__init__,Method lxml.etree.ETCompatXMLParser.__init__()=lxml.etree.ETCompatXMLParser-class.html#__init__,Method lxml.etree.ETXPath.__init__()=lxml.etree.ETXPath-class.html#__init__,Method lxml.etree.ElementBase.__init__()=lxml.etree.ElementBase-class.html#__init__,Method lxml.etree.ElementDefaultClassLookup.__init__()=lxml.etree.ElementDefaultClassLookup-class.html#__init__,Method lxml.etree.ElementNamespaceClassLookup.__init__()=lxml.etree.ElementNamespaceClassLookup-class.html#__init__,Method lxml.etree.EntityBase.__init__()=lxml.etree.EntityBase-class.html#__init__,Method lxml.etree.FallbackElementClassLookup.__init__()=lxml.etree.FallbackElementClassLookup-class.html#__init__,Method lxml.etree.HTMLParser.__init__()=lxml.etree.HTMLParser-class.html#__init__,Method lxml.etree.HTMLPullParser.__init__()=lxml.etree.HTMLPullParser-class.html#__init__,Method lxml.etree.LxmlError.__init__()=lxml.etree.LxmlError-class.html#__init__,Method lxml.etree.PIBase.__init__()=lxml.etree.PIBase-class.html#__init__,Method lxml.etree.ParseError.__init__()=lxml.etree.ParseError-class.html#__init__,Method lxml.etree.PyErrorLog.__init__()=lxml.etree.PyErrorLog-class.html#__init__,Method lxml.etree.QName.__init__()=lxml.etree.QName-class.html#__init__,Method lxml.etree.RelaxNG.__init__()=lxml.etree.RelaxNG-class.html#__init__,Method lxml.etree.Schematron.__init__()=lxml.etree.Schematron-class.html#__init__,Method lxml.etree.TreeBuilder.__init__()=lxml.etree.TreeBuilder-class.html#__init__,Method lxml.etree.XInclude.__init__()=lxml.etree.XInclude-class.html#__init__,Method lxml.etree.XMLParser.__init__()=lxml.etree.XMLParser-class.html#__init__,Method lxml.etree.XMLPullParser.__init__()=lxml.etree.XMLPullParser-class.html#__init__,Method lxml.etree.XMLSchema.__init__()=lxml.etree.XMLSchema-class.html#__init__,Method lxml.etree.XPath.__init__()=lxml.etree.XPath-class.html#__init__,Method lxml.etree.XPathDocumentEvaluator.__init__()=lxml.etree.XPathDocumentEvaluator-class.html#__init__,Method lxml.etree.XPathElementEvaluator.__init__()=lxml.etree.XPathElementEvaluator-class.html#__init__,Method lxml.etree.XSLT.__init__()=lxml.etree.XSLT-class.html#__init__,Method lxml.etree.XSLTAccessControl.__init__()=lxml.etree.XSLTAccessControl-class.html#__init__,Method lxml.etree._BaseErrorLog.__init__()=lxml.etree._BaseErrorLog-class.html#__init__,Method lxml.etree._DomainErrorLog.__init__()=lxml.etree._DomainErrorLog-class.html#__init__,Method lxml.etree._ErrorLog.__init__()=lxml.etree._ErrorLog-class.html#__init__,Method lxml.etree._ListErrorLog.__init__()=lxml.etree._ListErrorLog-class.html#__init__,Method lxml.etree._RotatingErrorLog.__init__()=lxml.etree._RotatingErrorLog-class.html#__init__,Method lxml.etree._TargetParserResult.__init__()=lxml.etree._TargetParserResult-class.html#__init__,Method lxml.etree._XPathEvaluatorBase.__init__()=lxml.etree._XPathEvaluatorBase-class.html#__init__,Method lxml.etree.htmlfile.__init__()=lxml.etree.htmlfile-class.html#__init__,Method lxml.etree.iterparse.__init__()=lxml.etree.iterparse-class.html#__init__,Method lxml.etree.iterwalk.__init__()=lxml.etree.iterwalk-class.html#__init__,Method lxml.etree.xmlfile.__init__()=lxml.etree.xmlfile-class.html#__init__,Method lxml.html.CheckboxValues.__init__()=lxml.html.CheckboxValues-class.html#__init__,Method lxml.html.Classes.__init__()=lxml.html.Classes-class.html#__init__,Method lxml.html.FieldsDict.__init__()=lxml.html.FieldsDict-class.html#__init__,Method lxml.html.HTMLParser.__init__()=lxml.html.HTMLParser-class.html#__init__,Method lxml.html.HtmlElementClassLookup.__init__()=lxml.html.HtmlElementClassLookup-class.html#__init__,Method lxml.html.InputGetter.__init__()=lxml.html.InputGetter-class.html#__init__,Method lxml.html.MultipleSelectOptions.__init__()=lxml.html.MultipleSelectOptions-class.html#__init__,Method lxml.html.XHTMLParser.__init__()=lxml.html.XHTMLParser-class.html#__init__,Method lxml.html._MethodFunc.__init__()=lxml.html._MethodFunc-class.html#__init__,Method lxml.html.clean.Cleaner.__init__()=lxml.html.clean.Cleaner-class.html#__init__,Method lxml.html.formfill.DefaultErrorCreator.__init__()=lxml.html.formfill.DefaultErrorCreator-class.html#__init__,Method lxml.html.html5parser.HTMLParser.__init__()=lxml.html.html5parser.HTMLParser-class.html#__init__,Method lxml.html.html5parser.XHTMLParser.__init__()=lxml.html.html5parser.XHTMLParser-class.html#__init__,Method lxml.html.soupparser._PseudoTag.__init__()=lxml.html.soupparser._PseudoTag-class.html#__init__,Method lxml.isoschematron.Schematron.__init__()=lxml.isoschematron.Schematron-class.html#__init__,Method lxml.objectify.ElementMaker.__init__()=lxml.objectify.ElementMaker-class.html#__init__,Method lxml.objectify.ObjectPath.__init__()=lxml.objectify.ObjectPath-class.html#__init__,Method lxml.objectify.ObjectifyElementClassLookup.__init__()=lxml.objectify.ObjectifyElementClassLookup-class.html#__init__,Method lxml.objectify.PyType.__init__()=lxml.objectify.PyType-class.html#__init__,Method lxml.sax.ElementTreeContentHandler.__init__()=lxml.sax.ElementTreeContentHandler-class.html#__init__,Method lxml.sax.ElementTreeProducer.__init__()=lxml.sax.ElementTreeProducer-class.html#__init__,Method lxml.tests.common_imports.LargeFileLike.__init__()=lxml.tests.common_imports.LargeFileLike-class.html#__init__,Method lxml.tests.common_imports.LargeFileLikeUnicode.__init__()=lxml.tests.common_imports.LargeFileLikeUnicode-class.html#__init__,Method lxml.tests.common_imports.SillyFileLike.__init__()=lxml.tests.common_imports.SillyFileLike-class.html#__init__,Method lxml.tests.dummy_http_server.HTTPRequestCollector.__init__()=lxml.tests.dummy_http_server.HTTPRequestCollector-class.html#__init__,Method lxml.tests.test_doctestcompare.DummyInput.__init__()=lxml.tests.test_doctestcompare.DummyInput-class.html#__init__,Method lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.__init__()=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html#__init__,Method lxml.tests.test_threading.ThreadPipelineTestCase.Worker.__init__()=lxml.tests.test_threading.ThreadPipelineTestCase.Worker-class.html#__init__,Method lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver.__init__()=lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-class.html#__init__"><a title="lxml.builder.ElementMaker.__init__
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-2693', 'value', 'link-196');">value</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-2694" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2694', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2695" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-2695', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2522"></a><tt class="py-lineno">2522</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_efactory_subtype"></a><div id="ObjectifyTestCase.test_efactory_subtype-def"><a name="L2523"></a><tt class="py-lineno">2523</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_efactory_subtype-toggle" onclick="return toggle('ObjectifyTestCase.test_efactory_subtype');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_efactory_subtype">test_efactory_subtype</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_efactory_subtype-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_efactory_subtype-expanded"><a name="L2524"></a><tt class="py-lineno">2524</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">Attribute</tt><tt class="py-op">(</tt><tt class="py-base-class">objectify</tt><tt class="py-op">.</tt><tt class="py-base-class">ObjectifiedDataElement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2525"></a><tt class="py-lineno">2525</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">__init__</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2526"></a><tt class="py-lineno">2526</tt> <tt class="py-line"> <tt id="link-2696" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2696', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2697" class="py-name"><a title="lxml.objectify.ObjectifiedDataElement" class="py-name" href="#" onclick="return doclink('link-2697', 'ObjectifiedDataElement', 'link-309');">ObjectifiedDataElement</a></tt><tt class="py-op">.</tt><tt id="link-2698" class="py-name" targets="Method lxml.builder.ElementMaker.__init__()=lxml.builder.ElementMaker-class.html#__init__,Method lxml.cssselect.CSSSelector.__init__()=lxml.cssselect.CSSSelector-class.html#__init__,Method lxml.doctestcompare._RestoreChecker.__init__()=lxml.doctestcompare._RestoreChecker-class.html#__init__,Method lxml.etree.AttributeBasedElementClassLookup.__init__()=lxml.etree.AttributeBasedElementClassLookup-class.html#__init__,Method lxml.etree.CommentBase.__init__()=lxml.etree.CommentBase-class.html#__init__,Method lxml.etree.DTD.__init__()=lxml.etree.DTD-class.html#__init__,Method lxml.etree.ETCompatXMLParser.__init__()=lxml.etree.ETCompatXMLParser-class.html#__init__,Method lxml.etree.ETXPath.__init__()=lxml.etree.ETXPath-class.html#__init__,Method lxml.etree.ElementBase.__init__()=lxml.etree.ElementBase-class.html#__init__,Method lxml.etree.ElementDefaultClassLookup.__init__()=lxml.etree.ElementDefaultClassLookup-class.html#__init__,Method lxml.etree.ElementNamespaceClassLookup.__init__()=lxml.etree.ElementNamespaceClassLookup-class.html#__init__,Method lxml.etree.EntityBase.__init__()=lxml.etree.EntityBase-class.html#__init__,Method lxml.etree.FallbackElementClassLookup.__init__()=lxml.etree.FallbackElementClassLookup-class.html#__init__,Method lxml.etree.HTMLParser.__init__()=lxml.etree.HTMLParser-class.html#__init__,Method lxml.etree.HTMLPullParser.__init__()=lxml.etree.HTMLPullParser-class.html#__init__,Method lxml.etree.LxmlError.__init__()=lxml.etree.LxmlError-class.html#__init__,Method lxml.etree.PIBase.__init__()=lxml.etree.PIBase-class.html#__init__,Method lxml.etree.ParseError.__init__()=lxml.etree.ParseError-class.html#__init__,Method lxml.etree.PyErrorLog.__init__()=lxml.etree.PyErrorLog-class.html#__init__,Method lxml.etree.QName.__init__()=lxml.etree.QName-class.html#__init__,Method lxml.etree.RelaxNG.__init__()=lxml.etree.RelaxNG-class.html#__init__,Method lxml.etree.Schematron.__init__()=lxml.etree.Schematron-class.html#__init__,Method lxml.etree.TreeBuilder.__init__()=lxml.etree.TreeBuilder-class.html#__init__,Method lxml.etree.XInclude.__init__()=lxml.etree.XInclude-class.html#__init__,Method lxml.etree.XMLParser.__init__()=lxml.etree.XMLParser-class.html#__init__,Method lxml.etree.XMLPullParser.__init__()=lxml.etree.XMLPullParser-class.html#__init__,Method lxml.etree.XMLSchema.__init__()=lxml.etree.XMLSchema-class.html#__init__,Method lxml.etree.XPath.__init__()=lxml.etree.XPath-class.html#__init__,Method lxml.etree.XPathDocumentEvaluator.__init__()=lxml.etree.XPathDocumentEvaluator-class.html#__init__,Method lxml.etree.XPathElementEvaluator.__init__()=lxml.etree.XPathElementEvaluator-class.html#__init__,Method lxml.etree.XSLT.__init__()=lxml.etree.XSLT-class.html#__init__,Method lxml.etree.XSLTAccessControl.__init__()=lxml.etree.XSLTAccessControl-class.html#__init__,Method lxml.etree._BaseErrorLog.__init__()=lxml.etree._BaseErrorLog-class.html#__init__,Method lxml.etree._DomainErrorLog.__init__()=lxml.etree._DomainErrorLog-class.html#__init__,Method lxml.etree._ErrorLog.__init__()=lxml.etree._ErrorLog-class.html#__init__,Method lxml.etree._ListErrorLog.__init__()=lxml.etree._ListErrorLog-class.html#__init__,Method lxml.etree._RotatingErrorLog.__init__()=lxml.etree._RotatingErrorLog-class.html#__init__,Method lxml.etree._TargetParserResult.__init__()=lxml.etree._TargetParserResult-class.html#__init__,Method lxml.etree._XPathEvaluatorBase.__init__()=lxml.etree._XPathEvaluatorBase-class.html#__init__,Method lxml.etree.htmlfile.__init__()=lxml.etree.htmlfile-class.html#__init__,Method lxml.etree.iterparse.__init__()=lxml.etree.iterparse-class.html#__init__,Method lxml.etree.iterwalk.__init__()=lxml.etree.iterwalk-class.html#__init__,Method lxml.etree.xmlfile.__init__()=lxml.etree.xmlfile-class.html#__init__,Method lxml.html.CheckboxValues.__init__()=lxml.html.CheckboxValues-class.html#__init__,Method lxml.html.Classes.__init__()=lxml.html.Classes-class.html#__init__,Method lxml.html.FieldsDict.__init__()=lxml.html.FieldsDict-class.html#__init__,Method lxml.html.HTMLParser.__init__()=lxml.html.HTMLParser-class.html#__init__,Method lxml.html.HtmlElementClassLookup.__init__()=lxml.html.HtmlElementClassLookup-class.html#__init__,Method lxml.html.InputGetter.__init__()=lxml.html.InputGetter-class.html#__init__,Method lxml.html.MultipleSelectOptions.__init__()=lxml.html.MultipleSelectOptions-class.html#__init__,Method lxml.html.XHTMLParser.__init__()=lxml.html.XHTMLParser-class.html#__init__,Method lxml.html._MethodFunc.__init__()=lxml.html._MethodFunc-class.html#__init__,Method lxml.html.clean.Cleaner.__init__()=lxml.html.clean.Cleaner-class.html#__init__,Method lxml.html.formfill.DefaultErrorCreator.__init__()=lxml.html.formfill.DefaultErrorCreator-class.html#__init__,Method lxml.html.html5parser.HTMLParser.__init__()=lxml.html.html5parser.HTMLParser-class.html#__init__,Method lxml.html.html5parser.XHTMLParser.__init__()=lxml.html.html5parser.XHTMLParser-class.html#__init__,Method lxml.html.soupparser._PseudoTag.__init__()=lxml.html.soupparser._PseudoTag-class.html#__init__,Method lxml.isoschematron.Schematron.__init__()=lxml.isoschematron.Schematron-class.html#__init__,Method lxml.objectify.ElementMaker.__init__()=lxml.objectify.ElementMaker-class.html#__init__,Method lxml.objectify.ObjectPath.__init__()=lxml.objectify.ObjectPath-class.html#__init__,Method lxml.objectify.ObjectifyElementClassLookup.__init__()=lxml.objectify.ObjectifyElementClassLookup-class.html#__init__,Method lxml.objectify.PyType.__init__()=lxml.objectify.PyType-class.html#__init__,Method lxml.sax.ElementTreeContentHandler.__init__()=lxml.sax.ElementTreeContentHandler-class.html#__init__,Method lxml.sax.ElementTreeProducer.__init__()=lxml.sax.ElementTreeProducer-class.html#__init__,Method lxml.tests.common_imports.LargeFileLike.__init__()=lxml.tests.common_imports.LargeFileLike-class.html#__init__,Method lxml.tests.common_imports.LargeFileLikeUnicode.__init__()=lxml.tests.common_imports.LargeFileLikeUnicode-class.html#__init__,Method lxml.tests.common_imports.SillyFileLike.__init__()=lxml.tests.common_imports.SillyFileLike-class.html#__init__,Method lxml.tests.dummy_http_server.HTTPRequestCollector.__init__()=lxml.tests.dummy_http_server.HTTPRequestCollector-class.html#__init__,Method lxml.tests.test_doctestcompare.DummyInput.__init__()=lxml.tests.test_doctestcompare.DummyInput-class.html#__init__,Method lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.__init__()=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html#__init__,Method lxml.tests.test_threading.ThreadPipelineTestCase.Worker.__init__()=lxml.tests.test_threading.ThreadPipelineTestCase.Worker-class.html#__init__,Method lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver.__init__()=lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-class.html#__init__"><a title="lxml.builder.ElementMaker.__init__
lxml.cssselect.CSSSelector.__init__
lxml.doctestcompare._RestoreChecker.__init__
lxml.etree.AttributeBasedElementClassLookup.__init__
lxml.tests.test_doctestcompare.DummyInput.__init__
lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.__init__
lxml.tests.test_threading.ThreadPipelineTestCase.Worker.__init__
-lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver.__init__" class="py-name" href="#" onclick="return doclink('link-2663', '__init__', 'link-2663');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L2483"></a><tt class="py-lineno">2483</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2664" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2664', 'set', 'link-2367');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"datatype"</tt><tt class="py-op">,</tt> <tt class="py-string">"TYPE"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2484"></a><tt class="py-lineno">2484</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2665" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2665', 'set', 'link-2367');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"range"</tt><tt class="py-op">,</tt> <tt class="py-string">"0.,1."</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L2485"></a><tt class="py-lineno">2485</tt> <tt class="py-line"> </tt>
-<a name="L2486"></a><tt class="py-lineno">2486</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-name">Attribute</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2487"></a><tt class="py-lineno">2487</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-2666" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver.__init__" class="py-name" href="#" onclick="return doclink('link-2698', '__init__', 'link-2698');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L2527"></a><tt class="py-lineno">2527</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2699" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2699', 'set', 'link-2402');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"datatype"</tt><tt class="py-op">,</tt> <tt class="py-string">"TYPE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2528"></a><tt class="py-lineno">2528</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2700" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2700', 'set', 'link-2402');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"range"</tt><tt class="py-op">,</tt> <tt class="py-string">"0.,1."</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L2529"></a><tt class="py-lineno">2529</tt> <tt class="py-line"> </tt>
+<a name="L2530"></a><tt class="py-lineno">2530</tt> <tt class="py-line"> <tt class="py-name">attr</tt> <tt class="py-op">=</tt> <tt class="py-name">Attribute</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2531"></a><tt class="py-lineno">2531</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-2701" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2666', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L2488"></a><tt class="py-lineno">2488</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-2667" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2701', 'text', 'link-311');">text</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L2532"></a><tt class="py-lineno">2532</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-2702" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2667', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"datatype"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"TYPE"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2489"></a><tt class="py-lineno">2489</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-2668" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2702', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"datatype"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"TYPE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2533"></a><tt class="py-lineno">2533</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">attr</tt><tt class="py-op">.</tt><tt id="link-2703" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2668', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"range"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"0.,1."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2490"></a><tt class="py-lineno">2490</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_XML_base_url_docinfo"></a><div id="ObjectifyTestCase.test_XML_base_url_docinfo-def"><a name="L2491"></a><tt class="py-lineno">2491</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_XML_base_url_docinfo-toggle" onclick="return toggle('ObjectifyTestCase.test_XML_base_url_docinfo');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_XML_base_url_docinfo">test_XML_base_url_docinfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_XML_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_XML_base_url_docinfo-expanded"><a name="L2492"></a><tt class="py-lineno">2492</tt> <tt class="py-line"> <tt id="link-2669" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2669', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2670" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2670', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2671" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2671', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2672" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2672', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2673" class="py-name" targets="Variable lxml.html.HtmlMixin.base_url=lxml.html.HtmlMixin-class.html#base_url"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2673', 'base_url', 'link-2673');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2493"></a><tt class="py-lineno">2493</tt> <tt class="py-line"> <tt id="link-2674" class="py-name" targets="Variable lxml.etree._ElementTree.docinfo=lxml.etree._ElementTree-class.html#docinfo"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2674', 'docinfo', 'link-2674');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-2675" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2675', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2676" class="py-name" targets="Method lxml.etree._Element.getroottree()=lxml.etree._Element-class.html#getroottree"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-2676', 'getroottree', 'link-2676');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2677" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2677', 'docinfo', 'link-2674');">docinfo</a></tt> </tt>
-<a name="L2494"></a><tt class="py-lineno">2494</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2678" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2678', 'docinfo', 'link-2674');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2679" class="py-name" targets="Variable lxml.etree.DocInfo.URL=lxml.etree.DocInfo-class.html#URL"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2679', 'URL', 'link-2679');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2495"></a><tt class="py-lineno">2495</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_XML_set_base_url_docinfo"></a><div id="ObjectifyTestCase.test_XML_set_base_url_docinfo-def"><a name="L2496"></a><tt class="py-lineno">2496</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_XML_set_base_url_docinfo-toggle" onclick="return toggle('ObjectifyTestCase.test_XML_set_base_url_docinfo');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_XML_set_base_url_docinfo">test_XML_set_base_url_docinfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_XML_set_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_XML_set_base_url_docinfo-expanded"><a name="L2497"></a><tt class="py-lineno">2497</tt> <tt class="py-line"> <tt id="link-2680" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2680', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2681" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2681', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2682" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2682', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2683" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2683', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2684" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2684', 'base_url', 'link-2673');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2498"></a><tt class="py-lineno">2498</tt> <tt class="py-line"> <tt id="link-2685" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2685', 'docinfo', 'link-2674');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-2686" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2686', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2687" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-2687', 'getroottree', 'link-2676');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2688" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2688', 'docinfo', 'link-2674');">docinfo</a></tt> </tt>
-<a name="L2499"></a><tt class="py-lineno">2499</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2689" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2689', 'docinfo', 'link-2674');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2690" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2690', 'URL', 'link-2679');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2500"></a><tt class="py-lineno">2500</tt> <tt class="py-line"> <tt id="link-2691" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2691', 'docinfo', 'link-2674');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2692" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2692', 'URL', 'link-2679');">URL</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"https://secret/url"</tt> </tt>
-<a name="L2501"></a><tt class="py-lineno">2501</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2693" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2693', 'docinfo', 'link-2674');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2694" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2694', 'URL', 'link-2679');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2502"></a><tt class="py-lineno">2502</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_parse_stringio_base_url"></a><div id="ObjectifyTestCase.test_parse_stringio_base_url-def"><a name="L2503"></a><tt class="py-lineno">2503</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_parse_stringio_base_url-toggle" onclick="return toggle('ObjectifyTestCase.test_parse_stringio_base_url');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_parse_stringio_base_url">test_parse_stringio_base_url</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_parse_stringio_base_url-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_parse_stringio_base_url-expanded"><a name="L2504"></a><tt class="py-lineno">2504</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2695" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2695', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2696" class="py-name" targets="Method lxml.etree._ElementTree.parse()=lxml.etree._ElementTree-class.html#parse,Function lxml.etree.parse()=lxml.etree-module.html#parse,Function lxml.html.ElementSoup.parse()=lxml.html.ElementSoup-module.html#parse,Function lxml.html.html5parser.parse()=lxml.html.html5parser-module.html#parse,Function lxml.html.soupparser.parse()=lxml.html.soupparser-module.html#parse,Function lxml.objectify.parse()=lxml.objectify-module.html#parse,Method lxml.tests.common_imports.HelperTestCase.parse()=lxml.tests.common_imports.HelperTestCase-class.html#parse"><a title="lxml.etree._ElementTree.parse
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2703', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"range"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"0.,1."</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2534"></a><tt class="py-lineno">2534</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_XML_base_url_docinfo"></a><div id="ObjectifyTestCase.test_XML_base_url_docinfo-def"><a name="L2535"></a><tt class="py-lineno">2535</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_XML_base_url_docinfo-toggle" onclick="return toggle('ObjectifyTestCase.test_XML_base_url_docinfo');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_XML_base_url_docinfo">test_XML_base_url_docinfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_XML_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_XML_base_url_docinfo-expanded"><a name="L2536"></a><tt class="py-lineno">2536</tt> <tt class="py-line"> <tt id="link-2704" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2704', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2705" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2705', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2706" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2706', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2707" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2707', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2708" class="py-name" targets="Variable lxml.html.HtmlMixin.base_url=lxml.html.HtmlMixin-class.html#base_url"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2708', 'base_url', 'link-2708');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2537"></a><tt class="py-lineno">2537</tt> <tt class="py-line"> <tt id="link-2709" class="py-name" targets="Variable lxml.etree._ElementTree.docinfo=lxml.etree._ElementTree-class.html#docinfo"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2709', 'docinfo', 'link-2709');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-2710" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2710', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2711" class="py-name" targets="Method lxml.etree._Element.getroottree()=lxml.etree._Element-class.html#getroottree"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-2711', 'getroottree', 'link-2711');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2712" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2712', 'docinfo', 'link-2709');">docinfo</a></tt> </tt>
+<a name="L2538"></a><tt class="py-lineno">2538</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2713" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2713', 'docinfo', 'link-2709');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2714" class="py-name" targets="Variable lxml.etree.DocInfo.URL=lxml.etree.DocInfo-class.html#URL"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2714', 'URL', 'link-2714');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2539"></a><tt class="py-lineno">2539</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_XML_set_base_url_docinfo"></a><div id="ObjectifyTestCase.test_XML_set_base_url_docinfo-def"><a name="L2540"></a><tt class="py-lineno">2540</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_XML_set_base_url_docinfo-toggle" onclick="return toggle('ObjectifyTestCase.test_XML_set_base_url_docinfo');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_XML_set_base_url_docinfo">test_XML_set_base_url_docinfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_XML_set_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_XML_set_base_url_docinfo-expanded"><a name="L2541"></a><tt class="py-lineno">2541</tt> <tt class="py-line"> <tt id="link-2715" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2715', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2716" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2716', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2717" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2717', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2718" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2718', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2719" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2719', 'base_url', 'link-2708');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2542"></a><tt class="py-lineno">2542</tt> <tt class="py-line"> <tt id="link-2720" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2720', 'docinfo', 'link-2709');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-2721" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2721', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2722" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-2722', 'getroottree', 'link-2711');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2723" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2723', 'docinfo', 'link-2709');">docinfo</a></tt> </tt>
+<a name="L2543"></a><tt class="py-lineno">2543</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2724" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2724', 'docinfo', 'link-2709');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2725" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2725', 'URL', 'link-2714');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2544"></a><tt class="py-lineno">2544</tt> <tt class="py-line"> <tt id="link-2726" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2726', 'docinfo', 'link-2709');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2727" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2727', 'URL', 'link-2714');">URL</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"https://secret/url"</tt> </tt>
+<a name="L2545"></a><tt class="py-lineno">2545</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2728" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2728', 'docinfo', 'link-2709');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2729" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2729', 'URL', 'link-2714');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2546"></a><tt class="py-lineno">2546</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_parse_stringio_base_url"></a><div id="ObjectifyTestCase.test_parse_stringio_base_url-def"><a name="L2547"></a><tt class="py-lineno">2547</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_parse_stringio_base_url-toggle" onclick="return toggle('ObjectifyTestCase.test_parse_stringio_base_url');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_parse_stringio_base_url">test_parse_stringio_base_url</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_parse_stringio_base_url-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_parse_stringio_base_url-expanded"><a name="L2548"></a><tt class="py-lineno">2548</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2730" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2730', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2731" class="py-name" targets="Method lxml.etree._ElementTree.parse()=lxml.etree._ElementTree-class.html#parse,Function lxml.etree.parse()=lxml.etree-module.html#parse,Function lxml.html.ElementSoup.parse()=lxml.html.ElementSoup-module.html#parse,Function lxml.html.html5parser.parse()=lxml.html.html5parser-module.html#parse,Function lxml.html.soupparser.parse()=lxml.html.soupparser-module.html#parse,Function lxml.objectify.parse()=lxml.objectify-module.html#parse,Method lxml.tests.common_imports.HelperTestCase.parse()=lxml.tests.common_imports.HelperTestCase-class.html#parse"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-2696', 'parse', 'link-2696');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2697" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2697', 'base_url', 'link-2673');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2505"></a><tt class="py-lineno">2505</tt> <tt class="py-line"> <tt id="link-2698" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2698', 'docinfo', 'link-2674');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2699" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2699', 'docinfo', 'link-2674');">docinfo</a></tt> </tt>
-<a name="L2506"></a><tt class="py-lineno">2506</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2700" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2700', 'docinfo', 'link-2674');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2701" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2701', 'URL', 'link-2679');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2507"></a><tt class="py-lineno">2507</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_parse_base_url_docinfo"></a><div id="ObjectifyTestCase.test_parse_base_url_docinfo-def"><a name="L2508"></a><tt class="py-lineno">2508</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_parse_base_url_docinfo-toggle" onclick="return toggle('ObjectifyTestCase.test_parse_base_url_docinfo');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_parse_base_url_docinfo">test_parse_base_url_docinfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_parse_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_parse_base_url_docinfo-expanded"><a name="L2509"></a><tt class="py-lineno">2509</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2702" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2702', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2703" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-2731', 'parse', 'link-2731');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2732" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2732', 'base_url', 'link-2708');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2549"></a><tt class="py-lineno">2549</tt> <tt class="py-line"> <tt id="link-2733" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2733', 'docinfo', 'link-2709');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2734" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2734', 'docinfo', 'link-2709');">docinfo</a></tt> </tt>
+<a name="L2550"></a><tt class="py-lineno">2550</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2735" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2735', 'docinfo', 'link-2709');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2736" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2736', 'URL', 'link-2714');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2551"></a><tt class="py-lineno">2551</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_parse_base_url_docinfo"></a><div id="ObjectifyTestCase.test_parse_base_url_docinfo-def"><a name="L2552"></a><tt class="py-lineno">2552</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_parse_base_url_docinfo-toggle" onclick="return toggle('ObjectifyTestCase.test_parse_base_url_docinfo');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_parse_base_url_docinfo">test_parse_base_url_docinfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_parse_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_parse_base_url_docinfo-expanded"><a name="L2553"></a><tt class="py-lineno">2553</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2737" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2737', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2738" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-2703', 'parse', 'link-2696');">parse</a></tt><tt class="py-op">(</tt><tt id="link-2704" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-2704', 'fileInTestDir', 'link-11');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'include/test_xinclude.xml'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2510"></a><tt class="py-lineno">2510</tt> <tt class="py-line"> <tt id="link-2705" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2705', 'base_url', 'link-2673');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2511"></a><tt class="py-lineno">2511</tt> <tt class="py-line"> <tt id="link-2706" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2706', 'docinfo', 'link-2674');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2707" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2707', 'docinfo', 'link-2674');">docinfo</a></tt> </tt>
-<a name="L2512"></a><tt class="py-lineno">2512</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2708" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2708', 'docinfo', 'link-2674');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2709" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2709', 'URL', 'link-2679');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2513"></a><tt class="py-lineno">2513</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_xml_base"></a><div id="ObjectifyTestCase.test_xml_base-def"><a name="L2514"></a><tt class="py-lineno">2514</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xml_base-toggle" onclick="return toggle('ObjectifyTestCase.test_xml_base');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xml_base">test_xml_base</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_xml_base-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xml_base-expanded"><a name="L2515"></a><tt class="py-lineno">2515</tt> <tt class="py-line"> <tt id="link-2710" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2710', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2711" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2711', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2712" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2712', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2713" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2713', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2714" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2714', 'base_url', 'link-2673');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2516"></a><tt class="py-lineno">2516</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2715" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2715', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2716" class="py-name" targets="Variable lxml.etree._Element.base=lxml.etree._Element-class.html#base"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2716', 'base', 'link-2716');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2517"></a><tt class="py-lineno">2517</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2518"></a><tt class="py-lineno">2518</tt> <tt class="py-line"> <tt id="link-2717" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2717', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2718" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-2738', 'parse', 'link-2731');">parse</a></tt><tt class="py-op">(</tt><tt id="link-2739" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-2739', 'fileInTestDir', 'link-11');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'include/test_xinclude.xml'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2554"></a><tt class="py-lineno">2554</tt> <tt class="py-line"> <tt id="link-2740" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2740', 'base_url', 'link-2708');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2555"></a><tt class="py-lineno">2555</tt> <tt class="py-line"> <tt id="link-2741" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2741', 'docinfo', 'link-2709');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2742" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2742', 'docinfo', 'link-2709');">docinfo</a></tt> </tt>
+<a name="L2556"></a><tt class="py-lineno">2556</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2743" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-2743', 'docinfo', 'link-2709');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-2744" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-2744', 'URL', 'link-2714');">URL</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2557"></a><tt class="py-lineno">2557</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_xml_base"></a><div id="ObjectifyTestCase.test_xml_base-def"><a name="L2558"></a><tt class="py-lineno">2558</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xml_base-toggle" onclick="return toggle('ObjectifyTestCase.test_xml_base');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xml_base">test_xml_base</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_xml_base-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xml_base-expanded"><a name="L2559"></a><tt class="py-lineno">2559</tt> <tt class="py-line"> <tt id="link-2745" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2745', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2746" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2746', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2747" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2747', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2748" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2748', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2749" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2749', 'base_url', 'link-2708');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2560"></a><tt class="py-lineno">2560</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2750" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2750', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2751" class="py-name" targets="Variable lxml.etree._Element.base=lxml.etree._Element-class.html#base"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2751', 'base', 'link-2751');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2561"></a><tt class="py-lineno">2561</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2562"></a><tt class="py-lineno">2562</tt> <tt class="py-line"> <tt id="link-2752" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2752', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2753" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2718', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L2519"></a><tt class="py-lineno">2519</tt> <tt class="py-line"> <tt id="link-2719" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2719', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2720" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2720', 'base', 'link-2716');">base</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"https://secret/url"</tt> </tt>
-<a name="L2520"></a><tt class="py-lineno">2520</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2721" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2721', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2722" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2722', 'base', 'link-2716');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2521"></a><tt class="py-lineno">2521</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2522"></a><tt class="py-lineno">2522</tt> <tt class="py-line"> <tt id="link-2723" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2723', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2724" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2753', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L2563"></a><tt class="py-lineno">2563</tt> <tt class="py-line"> <tt id="link-2754" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2754', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2755" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2755', 'base', 'link-2751');">base</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"https://secret/url"</tt> </tt>
+<a name="L2564"></a><tt class="py-lineno">2564</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2756" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2756', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2757" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2757', 'base', 'link-2751');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2565"></a><tt class="py-lineno">2565</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2566"></a><tt class="py-lineno">2566</tt> <tt class="py-line"> <tt id="link-2758" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2758', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2759" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2724', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2523"></a><tt class="py-lineno">2523</tt> <tt class="py-line"> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2524"></a><tt class="py-lineno">2524</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_xml_base_attribute"></a><div id="ObjectifyTestCase.test_xml_base_attribute-def"><a name="L2525"></a><tt class="py-lineno">2525</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xml_base_attribute-toggle" onclick="return toggle('ObjectifyTestCase.test_xml_base_attribute');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xml_base_attribute">test_xml_base_attribute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_xml_base_attribute-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xml_base_attribute-expanded"><a name="L2526"></a><tt class="py-lineno">2526</tt> <tt class="py-line"> <tt id="link-2725" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2725', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2726" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2726', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2727" class="py-name"><a title="lxml.etree.XML
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2759', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2567"></a><tt class="py-lineno">2567</tt> <tt class="py-line"> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2568"></a><tt class="py-lineno">2568</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_xml_base_attribute"></a><div id="ObjectifyTestCase.test_xml_base_attribute-def"><a name="L2569"></a><tt class="py-lineno">2569</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_xml_base_attribute-toggle" onclick="return toggle('ObjectifyTestCase.test_xml_base_attribute');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_xml_base_attribute">test_xml_base_attribute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_xml_base_attribute-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_xml_base_attribute-expanded"><a name="L2570"></a><tt class="py-lineno">2570</tt> <tt class="py-line"> <tt id="link-2760" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2760', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2761" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2761', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2762" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2727', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2728" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2728', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2729" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2729', 'base_url', 'link-2673');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2527"></a><tt class="py-lineno">2527</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2730" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2730', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2731" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2731', 'base', 'link-2716');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2528"></a><tt class="py-lineno">2528</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2529"></a><tt class="py-lineno">2529</tt> <tt class="py-line"> <tt id="link-2732" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2732', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2733" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2762', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2763" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2763', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"<root/>"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-2764" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-2764', 'base_url', 'link-2708');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2571"></a><tt class="py-lineno">2571</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2765" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2765', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2766" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2766', 'base', 'link-2751');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"http://no/such/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2572"></a><tt class="py-lineno">2572</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2573"></a><tt class="py-lineno">2573</tt> <tt class="py-line"> <tt id="link-2767" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2767', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2768" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2733', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L2530"></a><tt class="py-lineno">2530</tt> <tt class="py-line"> <tt id="link-2734" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2734', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2735" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2735', 'set', 'link-2367');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2531"></a><tt class="py-lineno">2531</tt> <tt class="py-line"> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2532"></a><tt class="py-lineno">2532</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2736" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2736', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2737" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2737', 'base', 'link-2716');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2533"></a><tt class="py-lineno">2533</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2534"></a><tt class="py-lineno">2534</tt> <tt class="py-line"> <tt id="link-2738" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2738', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2739" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2768', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L2574"></a><tt class="py-lineno">2574</tt> <tt class="py-line"> <tt id="link-2769" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2769', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2770" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2770', 'set', 'link-2402');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2575"></a><tt class="py-lineno">2575</tt> <tt class="py-line"> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2576"></a><tt class="py-lineno">2576</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2771" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2771', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2772" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-2772', 'base', 'link-2751');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2577"></a><tt class="py-lineno">2577</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2578"></a><tt class="py-lineno">2578</tt> <tt class="py-line"> <tt id="link-2773" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2773', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt id="link-2774" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2739', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2535"></a><tt class="py-lineno">2535</tt> <tt class="py-line"> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2536"></a><tt class="py-lineno">2536</tt> <tt class="py-line"> </tt>
-<a name="ObjectifyTestCase.test_standard_lookup"></a><div id="ObjectifyTestCase.test_standard_lookup-def"><a name="L2537"></a><tt class="py-lineno">2537</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_standard_lookup-toggle" onclick="return toggle('ObjectifyTestCase.test_standard_lookup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_standard_lookup">test_standard_lookup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ObjectifyTestCase.test_standard_lookup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_standard_lookup-expanded"><a name="L2538"></a><tt class="py-lineno">2538</tt> <tt class="py-line"> <tt id="link-2740" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2740', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2741" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2741', 'XML', 'link-63');">XML</a></tt> </tt>
-<a name="L2539"></a><tt class="py-lineno">2539</tt> <tt class="py-line"> </tt>
-<a name="L2540"></a><tt class="py-lineno">2540</tt> <tt class="py-line"> <tt id="link-2742" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2742', 'xml', 'link-64');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-2743" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2743', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L2541"></a><tt class="py-lineno">2541</tt> <tt class="py-line"><tt class="py-string"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></tt> </tt>
-<a name="L2542"></a><tt class="py-lineno">2542</tt> <tt class="py-line"><tt class="py-string"> <i>5</i></tt> </tt>
-<a name="L2543"></a><tt class="py-lineno">2543</tt> <tt class="py-line"><tt class="py-string"> <i>-5</i></tt> </tt>
-<a name="L2544"></a><tt class="py-lineno">2544</tt> <tt class="py-line"><tt class="py-string"> <l>4294967296</l></tt> </tt>
-<a name="L2545"></a><tt class="py-lineno">2545</tt> <tt class="py-line"><tt class="py-string"> <l>-4294967296</l></tt> </tt>
-<a name="L2546"></a><tt class="py-lineno">2546</tt> <tt class="py-line"><tt class="py-string"> <f>1.1</f></tt> </tt>
-<a name="L2547"></a><tt class="py-lineno">2547</tt> <tt class="py-line"><tt class="py-string"> <b>true</b></tt> </tt>
-<a name="L2548"></a><tt class="py-lineno">2548</tt> <tt class="py-line"><tt class="py-string"> <b>false</b></tt> </tt>
-<a name="L2549"></a><tt class="py-lineno">2549</tt> <tt class="py-line"><tt class="py-string"> <s>Strange things happen, where strings collide</s></tt> </tt>
-<a name="L2550"></a><tt class="py-lineno">2550</tt> <tt class="py-line"><tt class="py-string"> <s>True</s></tt> </tt>
-<a name="L2551"></a><tt class="py-lineno">2551</tt> <tt class="py-line"><tt class="py-string"> <s>False</s></tt> </tt>
-<a name="L2552"></a><tt class="py-lineno">2552</tt> <tt class="py-line"><tt class="py-string"> <s>t</s></tt> </tt>
-<a name="L2553"></a><tt class="py-lineno">2553</tt> <tt class="py-line"><tt class="py-string"> <s>f</s></tt> </tt>
-<a name="L2554"></a><tt class="py-lineno">2554</tt> <tt class="py-line"><tt class="py-string"> <s></s></tt> </tt>
-<a name="L2555"></a><tt class="py-lineno">2555</tt> <tt class="py-line"><tt class="py-string"> <s>None</s></tt> </tt>
-<a name="L2556"></a><tt class="py-lineno">2556</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
-<a name="L2557"></a><tt class="py-lineno">2557</tt> <tt class="py-line"><tt class="py-string"> </root></tt> </tt>
-<a name="L2558"></a><tt class="py-lineno">2558</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L2559"></a><tt class="py-lineno">2559</tt> <tt class="py-line"> <tt id="link-2744" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2744', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2745" class="py-name"><a title="lxml.etree.XML
-lxml.objectify.XML
-lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2745', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2746" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2746', 'xml', 'link-64');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2560"></a><tt class="py-lineno">2560</tt> <tt class="py-line"> </tt>
-<a name="L2561"></a><tt class="py-lineno">2561</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-2747" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2747', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
-<a name="L2562"></a><tt class="py-lineno">2562</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt id="link-2748" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2748', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2749" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-2749', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2563"></a><tt class="py-lineno">2563</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt id="link-2750" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2750', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
-<a name="L2564"></a><tt class="py-lineno">2564</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">,</tt> <tt id="link-2751" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2751', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2752" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-2752', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2565"></a><tt class="py-lineno">2565</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt id="link-2753" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2753', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
-<a name="L2566"></a><tt class="py-lineno">2566</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-2754" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2754', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2755" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-2755', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2567"></a><tt class="py-lineno">2567</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-2756" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2756', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">:</tt> </tt>
-<a name="L2568"></a><tt class="py-lineno">2568</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-2757" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2757', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2758" class="py-name"><a title="lxml.objectify.BoolElement" class="py-name" href="#" onclick="return doclink('link-2758', 'BoolElement', 'link-39');">BoolElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2569"></a><tt class="py-lineno">2569</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2759" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2759', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L2570"></a><tt class="py-lineno">2570</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-2760" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2760', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L2571"></a><tt class="py-lineno">2571</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-2761" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2761', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
-<a name="L2572"></a><tt class="py-lineno">2572</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt id="link-2762" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2762', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2763" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2763', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2573"></a><tt class="py-lineno">2573</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2764" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2764', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt id="link-2765" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2765', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2766" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-2766', 'NoneElement', 'link-353');">NoneElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2574"></a><tt class="py-lineno">2574</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-2767" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2767', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L2575"></a><tt class="py-lineno">2575</tt> <tt class="py-line"> </tt>
-<a name="test_suite"></a><div id="test_suite-def"><a name="L2576"></a><tt class="py-lineno">2576</tt> <a class="py-toggle" href="#" id="test_suite-toggle" onclick="return toggle('test_suite');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify-module.html#test_suite">test_suite</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="test_suite-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="test_suite-expanded"><a name="L2577"></a><tt class="py-lineno">2577</tt> <tt class="py-line"> <tt class="py-name">suite</tt> <tt class="py-op">=</tt> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestSuite</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2578"></a><tt class="py-lineno">2578</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-2768" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase" class="py-name" href="#" onclick="return doclink('link-2768', 'ObjectifyTestCase', 'link-66');">ObjectifyTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L2579"></a><tt class="py-lineno">2579</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-name">doctest</tt><tt class="py-op">.</tt><tt class="py-name">DocTestSuite</tt><tt class="py-op">(</tt><tt id="link-2769" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2769', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2580"></a><tt class="py-lineno">2580</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt> <tt class="py-op">>=</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L2581"></a><tt class="py-lineno">2581</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt> </tt>
-<a name="L2582"></a><tt class="py-lineno">2582</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt id="link-2770" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-2770', 'make_doctest', 'link-15');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/objectify.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L2583"></a><tt class="py-lineno">2583</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
-</div><a name="L2584"></a><tt class="py-lineno">2584</tt> <tt class="py-line"> </tt>
-<a name="L2585"></a><tt class="py-lineno">2585</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
-<a name="L2586"></a><tt class="py-lineno">2586</tt> <tt class="py-line"> <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">'to test use test.py %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">__file__</tt><tt class="py-op">)</tt> </tt>
-<a name="L2587"></a><tt class="py-lineno">2587</tt> <tt class="py-line"> </tt><script type="text/javascript">
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-2774', 'get', 'link-325');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://www.w3.org/XML/1998/namespace}base'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2579"></a><tt class="py-lineno">2579</tt> <tt class="py-line"> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2580"></a><tt class="py-lineno">2580</tt> <tt class="py-line"> </tt>
+<a name="ObjectifyTestCase.test_standard_lookup"></a><div id="ObjectifyTestCase.test_standard_lookup-def"><a name="L2581"></a><tt class="py-lineno">2581</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.test_standard_lookup-toggle" onclick="return toggle('ObjectifyTestCase.test_standard_lookup');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_standard_lookup">test_standard_lookup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObjectifyTestCase.test_standard_lookup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.test_standard_lookup-expanded"><a name="L2582"></a><tt class="py-lineno">2582</tt> <tt class="py-line"> <tt id="link-2775" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2775', 'XML', 'link-63');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2776" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2776', 'XML', 'link-63');">XML</a></tt> </tt>
+<a name="L2583"></a><tt class="py-lineno">2583</tt> <tt class="py-line"> </tt>
+<a name="L2584"></a><tt class="py-lineno">2584</tt> <tt class="py-line"> <tt id="link-2777" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2777', 'xml', 'link-64');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-2778" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2778', '_bytes', 'link-17');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L2585"></a><tt class="py-lineno">2585</tt> <tt class="py-line"><tt class="py-string"> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></tt> </tt>
+<a name="L2586"></a><tt class="py-lineno">2586</tt> <tt class="py-line"><tt class="py-string"> <i>5</i></tt> </tt>
+<a name="L2587"></a><tt class="py-lineno">2587</tt> <tt class="py-line"><tt class="py-string"> <i>-5</i></tt> </tt>
+<a name="L2588"></a><tt class="py-lineno">2588</tt> <tt class="py-line"><tt class="py-string"> <l>4294967296</l></tt> </tt>
+<a name="L2589"></a><tt class="py-lineno">2589</tt> <tt class="py-line"><tt class="py-string"> <l>-4294967296</l></tt> </tt>
+<a name="L2590"></a><tt class="py-lineno">2590</tt> <tt class="py-line"><tt class="py-string"> <f>1.1</f></tt> </tt>
+<a name="L2591"></a><tt class="py-lineno">2591</tt> <tt class="py-line"><tt class="py-string"> <b>true</b></tt> </tt>
+<a name="L2592"></a><tt class="py-lineno">2592</tt> <tt class="py-line"><tt class="py-string"> <b>false</b></tt> </tt>
+<a name="L2593"></a><tt class="py-lineno">2593</tt> <tt class="py-line"><tt class="py-string"> <s>Strange things happen, where strings collide</s></tt> </tt>
+<a name="L2594"></a><tt class="py-lineno">2594</tt> <tt class="py-line"><tt class="py-string"> <s>True</s></tt> </tt>
+<a name="L2595"></a><tt class="py-lineno">2595</tt> <tt class="py-line"><tt class="py-string"> <s>False</s></tt> </tt>
+<a name="L2596"></a><tt class="py-lineno">2596</tt> <tt class="py-line"><tt class="py-string"> <s>t</s></tt> </tt>
+<a name="L2597"></a><tt class="py-lineno">2597</tt> <tt class="py-line"><tt class="py-string"> <s>f</s></tt> </tt>
+<a name="L2598"></a><tt class="py-lineno">2598</tt> <tt class="py-line"><tt class="py-string"> <s></s></tt> </tt>
+<a name="L2599"></a><tt class="py-lineno">2599</tt> <tt class="py-line"><tt class="py-string"> <s>None</s></tt> </tt>
+<a name="L2600"></a><tt class="py-lineno">2600</tt> <tt class="py-line"><tt class="py-string"> <n xsi:nil="true" /></tt> </tt>
+<a name="L2601"></a><tt class="py-lineno">2601</tt> <tt class="py-line"><tt class="py-string"> </root></tt> </tt>
+<a name="L2602"></a><tt class="py-lineno">2602</tt> <tt class="py-line"><tt class="py-string"> '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L2603"></a><tt class="py-lineno">2603</tt> <tt class="py-line"> <tt id="link-2779" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2779', 'root', 'link-144');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2780" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.XML
+lxml.tests.test_objectify.ObjectifyTestCase.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2780', 'XML', 'link-63');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2781" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2781', 'xml', 'link-64');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2604"></a><tt class="py-lineno">2604</tt> <tt class="py-line"> </tt>
+<a name="L2605"></a><tt class="py-lineno">2605</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt id="link-2782" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2782', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
+<a name="L2606"></a><tt class="py-lineno">2606</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt id="link-2783" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2783', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2784" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-2784', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2607"></a><tt class="py-lineno">2607</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt id="link-2785" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2785', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
+<a name="L2608"></a><tt class="py-lineno">2608</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">,</tt> <tt id="link-2786" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2786', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2787" class="py-name"><a title="lxml.objectify.IntElement" class="py-name" href="#" onclick="return doclink('link-2787', 'IntElement', 'link-35');">IntElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2609"></a><tt class="py-lineno">2609</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt id="link-2788" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2788', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
+<a name="L2610"></a><tt class="py-lineno">2610</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-2789" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2789', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2790" class="py-name"><a title="lxml.objectify.FloatElement" class="py-name" href="#" onclick="return doclink('link-2790', 'FloatElement', 'link-37');">FloatElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2611"></a><tt class="py-lineno">2611</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-2791" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2791', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">:</tt> </tt>
+<a name="L2612"></a><tt class="py-lineno">2612</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-2792" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2792', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2793" class="py-name"><a title="lxml.objectify.BoolElement" class="py-name" href="#" onclick="return doclink('link-2793', 'BoolElement', 'link-39');">BoolElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2613"></a><tt class="py-lineno">2613</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2794" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2794', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2614"></a><tt class="py-lineno">2614</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt id="link-2795" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2795', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">b</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2615"></a><tt class="py-lineno">2615</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt id="link-2796" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2796', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
+<a name="L2616"></a><tt class="py-lineno">2616</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt id="link-2797" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2797', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2798" class="py-name"><a title="lxml.objectify.StringElement" class="py-name" href="#" onclick="return doclink('link-2798', 'StringElement', 'link-41');">StringElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2617"></a><tt class="py-lineno">2617</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-2799" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2799', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt id="link-2800" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2800', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">.</tt><tt id="link-2801" class="py-name"><a title="lxml.objectify.NoneElement" class="py-name" href="#" onclick="return doclink('link-2801', 'NoneElement', 'link-353');">NoneElement</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2618"></a><tt class="py-lineno">2618</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-2802" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2802', 'root', 'link-144');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L2619"></a><tt class="py-lineno">2619</tt> <tt class="py-line"> </tt>
+<a name="test_suite"></a><div id="test_suite-def"><a name="L2620"></a><tt class="py-lineno">2620</tt> <a class="py-toggle" href="#" id="test_suite-toggle" onclick="return toggle('test_suite');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify-module.html#test_suite">test_suite</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="test_suite-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="test_suite-expanded"><a name="L2621"></a><tt class="py-lineno">2621</tt> <tt class="py-line"> <tt class="py-name">suite</tt> <tt class="py-op">=</tt> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestSuite</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2622"></a><tt class="py-lineno">2622</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-2803" class="py-name"><a title="lxml.tests.test_objectify.ObjectifyTestCase" class="py-name" href="#" onclick="return doclink('link-2803', 'ObjectifyTestCase', 'link-66');">ObjectifyTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2623"></a><tt class="py-lineno">2623</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-name">doctest</tt><tt class="py-op">.</tt><tt class="py-name">DocTestSuite</tt><tt class="py-op">(</tt><tt id="link-2804" class="py-name"><a title="lxml.objectify" class="py-name" href="#" onclick="return doclink('link-2804', 'objectify', 'link-20');">objectify</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2624"></a><tt class="py-lineno">2624</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt> <tt class="py-op">>=</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2625"></a><tt class="py-lineno">2625</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt> </tt>
+<a name="L2626"></a><tt class="py-lineno">2626</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt id="link-2805" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-2805', 'make_doctest', 'link-15');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/objectify.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2627"></a><tt class="py-lineno">2627</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
+</div><a name="L2628"></a><tt class="py-lineno">2628</tt> <tt class="py-line"> </tt>
+<a name="L2629"></a><tt class="py-lineno">2629</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L2630"></a><tt class="py-lineno">2630</tt> <tt class="py-line"> <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">'to test use test.py %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">__file__</tt><tt class="py-op">)</tt> </tt>
+<a name="L2631"></a><tt class="py-lineno">2631</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
+ <td><span class="summary-sig"><a name="test_type_float_precision"></a><span class="summary-sig-name">test_type_float_precision</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="lxml.tests.test_objectify-pysrc.html#ObjectifyTestCase.test_type_float_precision">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="test_type_float_instantiation_precision"></a><span class="summary-sig-name">test_type_float_instantiation_precision</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="lxml.tests.test_objectify-pysrc.html#ObjectifyTestCase.test_type_float_instantiation_precision">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="test_type_float_precision_consistency"></a><span class="summary-sig-name">test_type_float_precision_consistency</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="lxml.tests.test_objectify-pysrc.html#ObjectifyTestCase.test_type_float_precision_consistency">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="test_data_element_float_precision"></a><span class="summary-sig-name">test_data_element_float_precision</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="lxml.tests.test_objectify-pysrc.html#ObjectifyTestCase.test_data_element_float_precision">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="test_data_element_float_hash_repr"></a><span class="summary-sig-name">test_data_element_float_hash_repr</span>(<span class="summary-sig-arg">self</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="lxml.tests.test_objectify-pysrc.html#ObjectifyTestCase.test_data_element_float_hash_repr">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="test_data_element_xsitypes"></a><span class="summary-sig-name">test_data_element_xsitypes</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.test_objectify-pysrc.html#ObjectifyTestCase.test_data_element_xsitypes">source code</a></span>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<tr>
<td><span class="summary-sig"><a href="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker-class.html#handle" class="summary-sig-name">handle</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">element</span>,
- <span class="summary-sig-arg">_fromstring</span>=<span class="summary-sig-default"><cyfunction fromstring at 0x2ad9e7d12350></span>)</span></td>
+ <span class="summary-sig-arg">_fromstring</span>=<span class="summary-sig-default"><cyfunction fromstring at 0x2b8b5d914290></span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.test_threading-pysrc.html#ThreadPipelineTestCase.ParseAndExtendWorker.handle">source code</a></span>
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">handle</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">element</span>,
- <span class="sig-arg">_fromstring</span>=<span class="sig-default"><cyfunction fromstring at 0x2ad9e7d12350></span>)</span>
+ <span class="sig-arg">_fromstring</span>=<span class="sig-default"><cyfunction fromstring at 0x2b8b5d914290></span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.test_threading-pysrc.html#ThreadPipelineTestCase.ParseAndExtendWorker.handle">source code</a></span>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<tr>
<td><span class="summary-sig"><a href="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndInjectWorker-class.html#handle" class="summary-sig-name">handle</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">element</span>,
- <span class="summary-sig-arg">_fromstring</span>=<span class="summary-sig-default"><cyfunction fromstring at 0x2ad9e7d12350></span>)</span></td>
+ <span class="summary-sig-arg">_fromstring</span>=<span class="summary-sig-default"><cyfunction fromstring at 0x2b8b5d914290></span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.test_threading-pysrc.html#ThreadPipelineTestCase.ParseAndInjectWorker.handle">source code</a></span>
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">handle</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">element</span>,
- <span class="sig-arg">_fromstring</span>=<span class="sig-default"><cyfunction fromstring at 0x2ad9e7d12350></span>)</span>
+ <span class="sig-arg">_fromstring</span>=<span class="sig-default"><cyfunction fromstring at 0x2b8b5d914290></span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.test_threading-pysrc.html#ThreadPipelineTestCase.ParseAndInjectWorker.handle">source code</a></span>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<tr>
<td><span class="summary-sig"><a href="lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker-class.html#handle" class="summary-sig-name">handle</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">xml</span>,
- <span class="summary-sig-arg">_fromstring</span>=<span class="summary-sig-default"><cyfunction fromstring at 0x2ad9e7d12350></span>)</span></td>
+ <span class="summary-sig-arg">_fromstring</span>=<span class="summary-sig-default"><cyfunction fromstring at 0x2b8b5d914290></span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.test_threading-pysrc.html#ThreadPipelineTestCase.ParseWorker.handle">source code</a></span>
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">handle</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">xml</span>,
- <span class="sig-arg">_fromstring</span>=<span class="sig-default"><cyfunction fromstring at 0x2ad9e7d12350></span>)</span>
+ <span class="sig-arg">_fromstring</span>=<span class="sig-default"><cyfunction fromstring at 0x2b8b5d914290></span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.test_threading-pysrc.html#ThreadPipelineTestCase.ParseWorker.handle">source code</a></span>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:08 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
est, (None, 'setTest'): setTest, (None, 'setTest2'): setTest2, (None, \
'argsTest1'): argsTest1, (None, 'argsTest2'): argsTest2, (None, 'resul\
tTypesTest'): resultTypesTest, (None, 'resultTypesTest2'): resultTypes\
-Test2,}"><code class="variable-group">{</code><code class="variable-group">(</code>None<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">argsTest1</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">: </code><function argsTest1 at 0x2ad<code class="variable-ellipsis">...</code></code>
+Test2,}"><code class="variable-group">{</code><code class="variable-group">(</code>None<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">argsTest1</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">: </code><function argsTest1 at 0x2b8<code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:06 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-34', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-35', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
</div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">False</tt> <tt class="py-keyword">and</tt> <tt id="link-36" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-36', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Variable lxml.etree.LIBXSLT_VERSION=lxml.etree-module.html#LIBXSLT_VERSION"><a title="lxml.etree.LIBXSLT_VERSION" class="py-name" href="#" onclick="return doclink('link-37', 'LIBXSLT_VERSION', 'link-37');">LIBXSLT_VERSION</a></tt> <tt class="py-op">>=</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">15</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-comment"># earlier versions generate no error</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-38" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-38', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="lxml.etree.LIBXSLT_VERSION" class="py-name" href="#" onclick="return doclink('link-39', 'LIBXSLT_VERSION', 'link-37');">LIBXSLT_VERSION</a></tt> <tt class="py-op">></tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">17</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_invalid_stylesheet"></a><div id="ETreeXSLTTestCase.test_xslt_invalid_stylesheet-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_invalid_stylesheet-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_invalid_stylesheet');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_invalid_stylesheet">test_xslt_invalid_stylesheet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_invalid_stylesheet-collapsed" style="display:none;" pad="++++" indent="++++++++++++++++++++++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_invalid_stylesheet-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt id="link-40" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-40', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="ETreeXSLTTestCase.test_xslt_invalid_stylesheet"></a><div id="ETreeXSLTTestCase.test_xslt_invalid_stylesheet-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_invalid_stylesheet-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_invalid_stylesheet');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_invalid_stylesheet">test_xslt_invalid_stylesheet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_invalid_stylesheet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_invalid_stylesheet-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt id="link-36" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-36', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-41', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet /></tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt id="link-42" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-37', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet /></tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt id="link-38" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-42', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Class lxml.etree.XSLTParseError=lxml.etree.XSLTParseError-class.html"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-43', 'XSLTParseError', 'link-43');">XSLTParseError</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-38', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Class lxml.etree.XSLTParseError=lxml.etree.XSLTParseError-class.html"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-39', 'XSLTParseError', 'link-39');">XSLTParseError</a></tt><tt class="py-op">,</tt> <tt id="link-40" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-44', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-45', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-46', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_copy"></a><div id="ETreeXSLTTestCase.test_xslt_copy-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_copy-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_copy');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_copy">test_xslt_copy</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_copy-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_copy-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-40', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-41', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt id="link-42" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-42', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_copy"></a><div id="ETreeXSLTTestCase.test_xslt_copy-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_copy-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_copy');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_copy">test_xslt_copy</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_copy-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_copy-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-47', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt id="link-48" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-48', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-43', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt id="link-44" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-44', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-49', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-50', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-51', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-52', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt id="link-53" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-53', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">transform_copy</tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-45', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-46', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-47', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-48" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-48', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt id="link-49" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-49', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">transform_copy</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="lxml.etree.PyErrorLog.copy
lxml.etree._BaseErrorLog.copy
lxml.etree._ErrorLog.copy
lxml.etree._IDDict.copy
lxml.etree._ListErrorLog.copy
-lxml.tests.selftest2.copy" class="py-name" href="#" onclick="return doclink('link-54', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">transform</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">transform_copy</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt id="link-55" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-55', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-56', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-57', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-58', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L100"></a><tt class="py-lineno"> 100</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
-<a name="L101"></a><tt class="py-lineno"> 101</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L102"></a><tt class="py-lineno"> 102</tt> <tt class="py-line"> <tt id="link-59" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-59', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L103"></a><tt class="py-lineno"> 103</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_utf8"></a><div id="ETreeXSLTTestCase.test_xslt_utf8-def"><a name="L104"></a><tt class="py-lineno"> 104</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_utf8-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_utf8');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_utf8">test_xslt_utf8</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_utf8-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_utf8-expanded"><a name="L105"></a><tt class="py-lineno"> 105</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.selftest2.copy" class="py-name" href="#" onclick="return doclink('link-50', 'copy', 'link-0');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">transform</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">transform_copy</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt id="link-51" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-51', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-52', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-53', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-54', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt id="link-55" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-55', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L100"></a><tt class="py-lineno"> 100</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_utf8"></a><div id="ETreeXSLTTestCase.test_xslt_utf8-def"><a name="L101"></a><tt class="py-lineno"> 101</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_utf8-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_utf8');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_utf8">test_xslt_utf8</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_utf8-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_utf8-expanded"><a name="L102"></a><tt class="py-lineno"> 102</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-60', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-61', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
-<a name="L106"></a><tt class="py-lineno"> 106</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno"> 107</tt> <tt class="py-line"> <tt id="link-62" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-62', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-56', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-57" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-57', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt> <tt class="py-line"> <tt id="link-58" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-58', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-63', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L108"></a><tt class="py-lineno"> 108</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L109"></a><tt class="py-lineno"> 109</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L110"></a><tt class="py-lineno"> 110</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-8"/></tt> </tt>
-<a name="L111"></a><tt class="py-lineno"> 111</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L112"></a><tt class="py-lineno"> 112</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L113"></a><tt class="py-lineno"> 113</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L114"></a><tt class="py-lineno"> 114</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno"> 115</tt> <tt class="py-line"> </tt>
-<a name="L116"></a><tt class="py-lineno"> 116</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-64', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-65', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-66" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-66', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno"> 117</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno"> 118</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-67', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L119"></a><tt class="py-lineno"> 119</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0" encoding="UTF-8"?></tt> </tt>
-<a name="L120"></a><tt class="py-lineno"> 120</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo></tt> </tt>
-<a name="L121"></a><tt class="py-lineno"> 121</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno"> 122</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-68" class="py-name"><a title="lxml.tests.test_xslt.is_python3" class="py-name" href="#" onclick="return doclink('link-68', 'is_python3', 'link-9');">is_python3</a></tt><tt class="py-op">:</tt> </tt>
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-59', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-8"/></tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt> <tt class="py-line"> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-60', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-61', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-62" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-62', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-63', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0" encoding="UTF-8"?></tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo></tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-64" class="py-name"><a title="lxml.tests.test_xslt.is_python3" class="py-name" href="#" onclick="return doclink('link-64', 'is_python3', 'link-9');">is_python3</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt> <tt class="py-line"> <tt id="link-65" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-65', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L123"></a><tt class="py-lineno"> 123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
-<a name="L124"></a><tt class="py-lineno"> 124</tt> <tt class="py-line"> <tt id="link-69" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-69', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno"> 125</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L126"></a><tt class="py-lineno"> 126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
-<a name="L127"></a><tt class="py-lineno"> 127</tt> <tt class="py-line"> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-70', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L128"></a><tt class="py-lineno"> 128</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_encoding"></a><div id="ETreeXSLTTestCase.test_xslt_encoding-def"><a name="L129"></a><tt class="py-lineno"> 129</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_encoding-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_encoding');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding">test_xslt_encoding</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_encoding-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_encoding-expanded"><a name="L130"></a><tt class="py-lineno"> 130</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L124"></a><tt class="py-lineno"> 124</tt> <tt class="py-line"> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt id="link-66" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-66', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L125"></a><tt class="py-lineno"> 125</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_encoding"></a><div id="ETreeXSLTTestCase.test_xslt_encoding-def"><a name="L126"></a><tt class="py-lineno"> 126</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_encoding-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_encoding');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding">test_xslt_encoding</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_encoding-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_encoding-expanded"><a name="L127"></a><tt class="py-lineno"> 127</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-71', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-72" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-72', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
-<a name="L131"></a><tt class="py-lineno"> 131</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno"> 132</tt> <tt class="py-line"> <tt id="link-73" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-73', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-67', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-68" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-68', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt> <tt class="py-line"> <tt id="link-69" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-69', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-74', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L133"></a><tt class="py-lineno"> 133</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L134"></a><tt class="py-lineno"> 134</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L135"></a><tt class="py-lineno"> 135</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-16"/></tt> </tt>
-<a name="L136"></a><tt class="py-lineno"> 136</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L137"></a><tt class="py-lineno"> 137</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L138"></a><tt class="py-lineno"> 138</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L139"></a><tt class="py-lineno"> 139</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno"> 140</tt> <tt class="py-line"> </tt>
-<a name="L141"></a><tt class="py-lineno"> 141</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-75', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-76', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-77', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno"> 142</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno"> 143</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-78" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-78', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L144"></a><tt class="py-lineno"> 144</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0" encoding="UTF-16"?></tt> </tt>
-<a name="L145"></a><tt class="py-lineno"> 145</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo></tt> </tt>
-<a name="L146"></a><tt class="py-lineno"> 146</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno"> 147</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-79" class="py-name"><a title="lxml.tests.test_xslt.is_python3" class="py-name" href="#" onclick="return doclink('link-79', 'is_python3', 'link-9');">is_python3</a></tt><tt class="py-op">:</tt> </tt>
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-70', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-16"/></tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt> <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-71" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-71', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-72', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-73', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-74', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0" encoding="UTF-16"?></tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo></tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-75" class="py-name"><a title="lxml.tests.test_xslt.is_python3" class="py-name" href="#" onclick="return doclink('link-75', 'is_python3', 'link-9');">is_python3</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt> <tt class="py-line"> <tt id="link-76" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-76', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L148"></a><tt class="py-lineno"> 148</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
-<a name="L149"></a><tt class="py-lineno"> 149</tt> <tt class="py-line"> <tt id="link-80" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-80', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno"> 150</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L151"></a><tt class="py-lineno"> 151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
-<a name="L152"></a><tt class="py-lineno"> 152</tt> <tt class="py-line"> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt id="link-81" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-81', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L153"></a><tt class="py-lineno"> 153</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_encoding_override"></a><div id="ETreeXSLTTestCase.test_xslt_encoding_override-def"><a name="L154"></a><tt class="py-lineno"> 154</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_encoding_override-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_encoding_override');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding_override">test_xslt_encoding_override</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_encoding_override-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_encoding_override-expanded"><a name="L155"></a><tt class="py-lineno"> 155</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L149"></a><tt class="py-lineno"> 149</tt> <tt class="py-line"> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-77', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L150"></a><tt class="py-lineno"> 150</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_encoding_override"></a><div id="ETreeXSLTTestCase.test_xslt_encoding_override-def"><a name="L151"></a><tt class="py-lineno"> 151</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_encoding_override-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_encoding_override');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_encoding_override">test_xslt_encoding_override</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_encoding_override-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_encoding_override-expanded"><a name="L152"></a><tt class="py-lineno"> 152</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-82', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-83', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
-<a name="L156"></a><tt class="py-lineno"> 156</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno"> 157</tt> <tt class="py-line"> <tt id="link-84" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-84', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-78', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-79" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-79', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt> <tt class="py-line"> <tt id="link-80" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-80', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-85', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L158"></a><tt class="py-lineno"> 158</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L159"></a><tt class="py-lineno"> 159</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L160"></a><tt class="py-lineno"> 160</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-8"/></tt> </tt>
-<a name="L161"></a><tt class="py-lineno"> 161</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L162"></a><tt class="py-lineno"> 162</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L163"></a><tt class="py-lineno"> 163</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L164"></a><tt class="py-lineno"> 164</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno"> 165</tt> <tt class="py-line"> </tt>
-<a name="L166"></a><tt class="py-lineno"> 166</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-86" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-86', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-87', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-88" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-88', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L167"></a><tt class="py-lineno"> 167</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno"> 168</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-89" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-89', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L169"></a><tt class="py-lineno"> 169</tt> <tt class="py-line"><tt class="py-string"><?xml version='1.0' encoding='UTF-16'?>\</tt> </tt>
-<a name="L170"></a><tt class="py-lineno"> 170</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo>"""</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno"> 171</tt> <tt class="py-line"> </tt>
-<a name="L172"></a><tt class="py-lineno"> 172</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L173"></a><tt class="py-lineno"> 173</tt> <tt class="py-line"> <tt class="py-name">res</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method lxml.etree._ElementTree.write()=lxml.etree._ElementTree-class.html#write"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-90', 'write', 'link-90');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-91" class="py-name" targets="Variable lxml.etree.DocInfo.encoding=lxml.etree.DocInfo-class.html#encoding,Function lxml.tests.selftest.encoding()=lxml.tests.selftest-module.html#encoding,Function lxml.tests.selftest2.encoding()=lxml.tests.selftest2-module.html#encoding"><a title="lxml.etree.DocInfo.encoding
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-81', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-8"/></tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt> <tt class="py-line"> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-82" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-82', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-83', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-84" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-84', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-85', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt> <tt class="py-line"><tt class="py-string"><?xml version='1.0' encoding='UTF-16'?>\</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo>"""</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt> <tt class="py-line"> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt> <tt class="py-line"> <tt class="py-name">res</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method lxml.etree._ElementTree.write()=lxml.etree._ElementTree-class.html#write"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-86', 'write', 'link-86');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-87" class="py-name" targets="Variable lxml.etree.DocInfo.encoding=lxml.etree.DocInfo-class.html#encoding,Function lxml.tests.selftest.encoding()=lxml.tests.selftest-module.html#encoding,Function lxml.tests.selftest2.encoding()=lxml.tests.selftest2-module.html#encoding"><a title="lxml.etree.DocInfo.encoding
lxml.tests.selftest.encoding
-lxml.tests.selftest2.encoding" class="py-name" href="#" onclick="return doclink('link-91', 'encoding', 'link-91');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno"> 174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-92" class="py-name"><a title="lxml.tests.test_xslt.is_python3" class="py-name" href="#" onclick="return doclink('link-92', 'is_python3', 'link-9');">is_python3</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L175"></a><tt class="py-lineno"> 175</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-93" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-93', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Method lxml.etree._Element.replace()=lxml.etree._Element-class.html#replace"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-94', 'replace', 'link-94');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L176"></a><tt class="py-lineno"> 176</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L177"></a><tt class="py-lineno"> 177</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-95', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-96', 'replace', 'link-94');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno"> 178</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L179"></a><tt class="py-lineno"> 179</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_unicode"></a><div id="ETreeXSLTTestCase.test_xslt_unicode-def"><a name="L180"></a><tt class="py-lineno"> 180</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_unicode-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_unicode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode">test_xslt_unicode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_unicode-expanded"><a name="L181"></a><tt class="py-lineno"> 181</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.selftest2.encoding" class="py-name" href="#" onclick="return doclink('link-87', 'encoding', 'link-87');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-88" class="py-name"><a title="lxml.tests.test_xslt.is_python3" class="py-name" href="#" onclick="return doclink('link-88', 'is_python3', 'link-9');">is_python3</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-89" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-89', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method lxml.etree._Element.replace()=lxml.etree._Element-class.html#replace"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-90', 'replace', 'link-90');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-91', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-92', 'replace', 'link-90');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L176"></a><tt class="py-lineno"> 176</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_unicode"></a><div id="ETreeXSLTTestCase.test_xslt_unicode-def"><a name="L177"></a><tt class="py-lineno"> 177</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_unicode-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_unicode');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode">test_xslt_unicode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_unicode-expanded"><a name="L178"></a><tt class="py-lineno"> 178</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-97', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-98', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
-<a name="L182"></a><tt class="py-lineno"> 182</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno"> 183</tt> <tt class="py-line"> <tt id="link-99" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-99', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-93', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-94" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-94', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt> <tt class="py-line"> <tt id="link-95" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-95', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-100', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L184"></a><tt class="py-lineno"> 184</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L185"></a><tt class="py-lineno"> 185</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L186"></a><tt class="py-lineno"> 186</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-16"/></tt> </tt>
-<a name="L187"></a><tt class="py-lineno"> 187</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno"> 188</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L189"></a><tt class="py-lineno"> 189</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L190"></a><tt class="py-lineno"> 190</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno"> 191</tt> <tt class="py-line"> </tt>
-<a name="L192"></a><tt class="py-lineno"> 192</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-101" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-101', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-102', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-103" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-103', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno"> 193</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno"> 194</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-104" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-104', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L195"></a><tt class="py-lineno"> 195</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L196"></a><tt class="py-lineno"> 196</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo></tt> </tt>
-<a name="L197"></a><tt class="py-lineno"> 197</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno"> 198</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
-<a name="L199"></a><tt class="py-lineno"> 199</tt> <tt class="py-line"> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L200"></a><tt class="py-lineno"> 200</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_unicode_standalone"></a><div id="ETreeXSLTTestCase.test_xslt_unicode_standalone-def"><a name="L201"></a><tt class="py-lineno"> 201</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_unicode_standalone-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_unicode_standalone');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode_standalone">test_xslt_unicode_standalone</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_unicode_standalone-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_unicode_standalone-expanded"><a name="L202"></a><tt class="py-lineno"> 202</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-96', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-16"/></tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt> <tt class="py-line"> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-97" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-97', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-98', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-99" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-99', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-100" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-100', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo></tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt> <tt class="py-line"> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L197"></a><tt class="py-lineno"> 197</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_unicode_standalone"></a><div id="ETreeXSLTTestCase.test_xslt_unicode_standalone-def"><a name="L198"></a><tt class="py-lineno"> 198</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_unicode_standalone-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_unicode_standalone');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_unicode_standalone">test_xslt_unicode_standalone</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_unicode_standalone-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_unicode_standalone-expanded"><a name="L199"></a><tt class="py-lineno"> 199</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-105', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-106" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-106', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
-<a name="L203"></a><tt class="py-lineno"> 203</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno"> 204</tt> <tt class="py-line"> <tt id="link-107" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-107', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-101', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-102" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-102', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>\\uF8D2</b><c>\\uF8D2</c></a>'</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt> <tt class="py-line"> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt> <tt class="py-line"> <tt id="link-103" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-103', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-108', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L205"></a><tt class="py-lineno"> 205</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L206"></a><tt class="py-lineno"> 206</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L207"></a><tt class="py-lineno"> 207</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-16" standalone="no"/></tt> </tt>
-<a name="L208"></a><tt class="py-lineno"> 208</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L209"></a><tt class="py-lineno"> 209</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L210"></a><tt class="py-lineno"> 210</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L211"></a><tt class="py-lineno"> 211</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L212"></a><tt class="py-lineno"> 212</tt> <tt class="py-line"> </tt>
-<a name="L213"></a><tt class="py-lineno"> 213</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-109', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-110', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-111" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-111', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L214"></a><tt class="py-lineno"> 214</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L215"></a><tt class="py-lineno"> 215</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-112" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-112', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L216"></a><tt class="py-lineno"> 216</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0" standalone="no"?></tt> </tt>
-<a name="L217"></a><tt class="py-lineno"> 217</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo></tt> </tt>
-<a name="L218"></a><tt class="py-lineno"> 218</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
-<a name="L219"></a><tt class="py-lineno"> 219</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
-<a name="L220"></a><tt class="py-lineno"> 220</tt> <tt class="py-line"> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L221"></a><tt class="py-lineno"> 221</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_input"></a><div id="ETreeXSLTTestCase.test_xslt_input-def"><a name="L222"></a><tt class="py-lineno"> 222</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_input-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_input');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input">test_xslt_input</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_input-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_input-expanded"><a name="L223"></a><tt class="py-lineno"> 223</tt> <tt class="py-line"> <tt id="link-113" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-113', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-104', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt> <tt class="py-line"><tt class="py-string"> <xsl:output encoding="UTF-16" standalone="no"/></tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt> <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-105', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-106', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-107" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-107', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt> <tt class="py-line"> <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-108', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0" standalone="no"?></tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt> <tt class="py-line"><tt class="py-string"><foo>\\uF8D2</foo></tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"unicode_escape"</tt><tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt> <tt class="py-line"> <tt class="py-name">unicode</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L218"></a><tt class="py-lineno"> 218</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_input"></a><div id="ETreeXSLTTestCase.test_xslt_input-def"><a name="L219"></a><tt class="py-lineno"> 219</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_input-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_input');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input">test_xslt_input</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_input-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_input-expanded"><a name="L220"></a><tt class="py-lineno"> 220</tt> <tt class="py-line"> <tt id="link-109" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-109', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-114', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L224"></a><tt class="py-lineno"> 224</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L225"></a><tt class="py-lineno"> 225</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L226"></a><tt class="py-lineno"> 226</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L227"></a><tt class="py-lineno"> 227</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L228"></a><tt class="py-lineno"> 228</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L229"></a><tt class="py-lineno"> 229</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L230"></a><tt class="py-lineno"> 230</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno"> 231</tt> <tt class="py-line"> </tt>
-<a name="L232"></a><tt class="py-lineno"> 232</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-110', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt> <tt class="py-line"> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-111" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-115', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-116', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-117" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-117', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno"> 233</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-118" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-111', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-112', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-113" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-113', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-114" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-118', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-119', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-120" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-120', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-121" class="py-name" targets="Method lxml.etree._ElementTree.getroot()=lxml.etree._ElementTree-class.html#getroot"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-121', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L234"></a><tt class="py-lineno"> 234</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_input_partial_doc"></a><div id="ETreeXSLTTestCase.test_xslt_input_partial_doc-def"><a name="L235"></a><tt class="py-lineno"> 235</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_input_partial_doc-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_input_partial_doc');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input_partial_doc">test_xslt_input_partial_doc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_input_partial_doc-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_input_partial_doc-expanded"><a name="L236"></a><tt class="py-lineno"> 236</tt> <tt class="py-line"> <tt id="link-122" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-122', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-114', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-115', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-116" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-116', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name" targets="Method lxml.etree._ElementTree.getroot()=lxml.etree._ElementTree-class.html#getroot"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-117', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L231"></a><tt class="py-lineno"> 231</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_input_partial_doc"></a><div id="ETreeXSLTTestCase.test_xslt_input_partial_doc-def"><a name="L232"></a><tt class="py-lineno"> 232</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_input_partial_doc-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_input_partial_doc');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_input_partial_doc">test_xslt_input_partial_doc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_input_partial_doc-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_input_partial_doc-expanded"><a name="L233"></a><tt class="py-lineno"> 233</tt> <tt class="py-line"> <tt id="link-118" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-118', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-123', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L237"></a><tt class="py-lineno"> 237</tt> <tt class="py-line"><tt class="py-string"><otherroot></tt> </tt>
-<a name="L238"></a><tt class="py-lineno"> 238</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L239"></a><tt class="py-lineno"> 239</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L240"></a><tt class="py-lineno"> 240</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L241"></a><tt class="py-lineno"> 241</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L242"></a><tt class="py-lineno"> 242</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L243"></a><tt class="py-lineno"> 243</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L244"></a><tt class="py-lineno"> 244</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L245"></a><tt class="py-lineno"> 245</tt> <tt class="py-line"><tt class="py-string"></otherroot>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L246"></a><tt class="py-lineno"> 246</tt> <tt class="py-line"> </tt>
-<a name="L247"></a><tt class="py-lineno"> 247</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-124" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-119', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt> <tt class="py-line"><tt class="py-string"><otherroot></tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt> <tt class="py-line"><tt class="py-string"></otherroot>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt> <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-120" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-124', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-125', 'XSLTParseError', 'link-43');">XSLTParseError</a></tt><tt class="py-op">,</tt> <tt id="link-126" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-120', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-121', 'XSLTParseError', 'link-39');">XSLTParseError</a></tt><tt class="py-op">,</tt> <tt id="link-122" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-126', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-127', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt id="link-128" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-128', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L248"></a><tt class="py-lineno"> 248</tt> <tt class="py-line"> <tt class="py-name">root_node</tt> <tt class="py-op">=</tt> <tt id="link-129" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-129', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-130', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L249"></a><tt class="py-lineno"> 249</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-131" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-122', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-123', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt id="link-124" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-124', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt> <tt class="py-line"> <tt class="py-name">root_node</tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-125', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-126', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-127" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-131', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-132', 'XSLTParseError', 'link-43');">XSLTParseError</a></tt><tt class="py-op">,</tt> <tt id="link-133" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-127', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-128', 'XSLTParseError', 'link-39');">XSLTParseError</a></tt><tt class="py-op">,</tt> <tt id="link-129" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-133', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-134', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt class="py-name">root_node</tt><tt class="py-op">)</tt> </tt>
-<a name="L250"></a><tt class="py-lineno"> 250</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-135" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-129', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-130', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt class="py-name">root_node</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-131" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-135', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-136', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">root_node</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L251"></a><tt class="py-lineno"> 251</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_broken"></a><div id="ETreeXSLTTestCase.test_xslt_broken-def"><a name="L252"></a><tt class="py-lineno"> 252</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_broken-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_broken');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_broken">test_xslt_broken</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_broken-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_broken-expanded"><a name="L253"></a><tt class="py-lineno"> 253</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-131', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-132', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">root_node</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L248"></a><tt class="py-lineno"> 248</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_broken"></a><div id="ETreeXSLTTestCase.test_xslt_broken-def"><a name="L249"></a><tt class="py-lineno"> 249</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_broken-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_broken');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_broken">test_xslt_broken</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_broken-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_broken-expanded"><a name="L250"></a><tt class="py-lineno"> 250</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-137', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L254"></a><tt class="py-lineno"> 254</tt> <tt class="py-line"> <tt id="link-138" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-138', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-133', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt> <tt class="py-line"> <tt id="link-134" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-134', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-139', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L255"></a><tt class="py-lineno"> 255</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L256"></a><tt class="py-lineno"> 256</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L257"></a><tt class="py-lineno"> 257</tt> <tt class="py-line"><tt class="py-string"> <xsl:foo /></tt> </tt>
-<a name="L258"></a><tt class="py-lineno"> 258</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno"> 259</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-140" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-135', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt> <tt class="py-line"><tt class="py-string"> <xsl:foo /></tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-136" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-136', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-137', 'XSLTParseError', 'link-39');">XSLTParseError</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt> <tt class="py-line"> <tt id="link-138" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-140', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-141', 'XSLTParseError', 'link-43');">XSLTParseError</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L260"></a><tt class="py-lineno"> 260</tt> <tt class="py-line"> <tt id="link-142" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-138', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-139', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt id="link-140" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-140', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt> <tt class="py-line"> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt> <tt class="py-line"> <tt class="py-name">exc</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt> <tt class="py-line"> <tt id="link-141" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-142', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-143', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">,</tt> <tt id="link-144" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-144', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L261"></a><tt class="py-lineno"> 261</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_parameters"></a><div id="ETreeXSLTTestCase.test_xslt_parameters-def"><a name="L262"></a><tt class="py-lineno"> 262</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameters-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameters">test_xslt_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_parameters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameters-expanded"><a name="L263"></a><tt class="py-lineno"> 263</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-141', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-142', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-143" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-143', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-144" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-144', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="lxml.etree.XSLTParseError" class="py-name" href="#" onclick="return doclink('link-145', 'XSLTParseError', 'link-39');">XSLTParseError</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt> <tt class="py-line"> <tt class="py-name">exc</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name" targets="Variable lxml.tests.common_imports.HelperTestCase.assertFalse=lxml.tests.common_imports.HelperTestCase-class.html#assertFalse"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-146', 'assertFalse', 'link-146');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">"XSLT processing should have failed but didn't"</tt><tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">exc</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">exc</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name" targets="Variable lxml.etree.XInclude.error_log=lxml.etree.XInclude-class.html#error_log,Variable lxml.etree.XSLT.error_log=lxml.etree.XSLT-class.html#error_log,Variable lxml.etree._Validator.error_log=lxml.etree._Validator-class.html#error_log,Variable lxml.etree._XPathEvaluatorBase.error_log=lxml.etree._XPathEvaluatorBase-class.html#error_log,Variable lxml.etree.iterparse.error_log=lxml.etree.iterparse-class.html#error_log"><a title="lxml.etree.XInclude.error_log
+lxml.etree.XSLT.error_log
+lxml.etree._Validator.error_log
+lxml.etree._XPathEvaluatorBase.error_log
+lxml.etree.iterparse.error_log" class="py-name" href="#" onclick="return doclink('link-147', 'error_log', 'link-147');">error_log</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">error</tt> <tt class="py-keyword">in</tt> <tt class="py-name">exc</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="lxml.etree.XInclude.error_log
+lxml.etree.XSLT.error_log
+lxml.etree._Validator.error_log
+lxml.etree._XPathEvaluatorBase.error_log
+lxml.etree.iterparse.error_log" class="py-name" href="#" onclick="return doclink('link-148', 'error_log', 'link-147');">error_log</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">':ERROR:XSLT:'</tt> <tt class="py-keyword">in</tt> <tt id="link-149" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-149', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">error</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L270"></a><tt class="py-lineno"> 270</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_parameters"></a><div id="ETreeXSLTTestCase.test_xslt_parameters-def"><a name="L271"></a><tt class="py-lineno"> 271</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameters-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameters">test_xslt_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_parameters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameters-expanded"><a name="L272"></a><tt class="py-lineno"> 272</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-145', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L264"></a><tt class="py-lineno"> 264</tt> <tt class="py-line"> <tt id="link-146" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-146', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-150', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt> <tt class="py-line"> <tt id="link-151" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-151', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-147', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L265"></a><tt class="py-lineno"> 265</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L266"></a><tt class="py-lineno"> 266</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L267"></a><tt class="py-lineno"> 267</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L268"></a><tt class="py-lineno"> 268</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L269"></a><tt class="py-lineno"> 269</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L270"></a><tt class="py-lineno"> 270</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno"> 271</tt> <tt class="py-line"> </tt>
-<a name="L272"></a><tt class="py-lineno"> 272</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-148" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-148', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-149', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-150" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-150', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno"> 273</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"'Bar'"</tt><tt class="py-op">)</tt> </tt>
-<a name="L274"></a><tt class="py-lineno"> 274</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L275"></a><tt class="py-lineno"> 275</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L276"></a><tt class="py-lineno"> 276</tt> <tt class="py-line"><tt class="py-string"><foo>Bar</foo></tt> </tt>
-<a name="L277"></a><tt class="py-lineno"> 277</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L278"></a><tt class="py-lineno"> 278</tt> <tt class="py-line"> <tt id="link-151" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-151', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L279"></a><tt class="py-lineno"> 279</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_string_parameters"></a><div id="ETreeXSLTTestCase.test_xslt_string_parameters-def"><a name="L280"></a><tt class="py-lineno"> 280</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_string_parameters-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_string_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_string_parameters">test_xslt_string_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_string_parameters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_string_parameters-expanded"><a name="L281"></a><tt class="py-lineno"> 281</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-152', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt> <tt class="py-line"> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-153" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-153', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-154', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-155" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-155', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"'Bar'"</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt> <tt class="py-line"><tt class="py-string"><foo>Bar</foo></tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt> <tt class="py-line"> <tt id="link-156" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-156', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L288"></a><tt class="py-lineno"> 288</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_string_parameters"></a><div id="ETreeXSLTTestCase.test_xslt_string_parameters-def"><a name="L289"></a><tt class="py-lineno"> 289</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_string_parameters-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_string_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_string_parameters">test_xslt_string_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_string_parameters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_string_parameters-expanded"><a name="L290"></a><tt class="py-lineno"> 290</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-152', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L282"></a><tt class="py-lineno"> 282</tt> <tt class="py-line"> <tt id="link-153" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-153', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-157', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt> <tt class="py-line"> <tt id="link-158" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-158', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-154', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L283"></a><tt class="py-lineno"> 283</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L284"></a><tt class="py-lineno"> 284</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L285"></a><tt class="py-lineno"> 285</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L286"></a><tt class="py-lineno"> 286</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L287"></a><tt class="py-lineno"> 287</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L288"></a><tt class="py-lineno"> 288</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L289"></a><tt class="py-lineno"> 289</tt> <tt class="py-line"> </tt>
-<a name="L290"></a><tt class="py-lineno"> 290</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-155" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-159', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt> <tt class="py-line"> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-160" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-155', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-156', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-157" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-157', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno"> 291</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt id="link-158" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-160', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-161', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-162" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-162', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt id="link-163" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-158', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-159', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name" targets="Static Method lxml.etree.XSLT.strparam()=lxml.etree.XSLT-class.html#strparam"><a title="lxml.etree.XSLT.strparam" class="py-name" href="#" onclick="return doclink('link-160', 'strparam', 'link-160');">strparam</a></tt><tt class="py-op">(</tt><tt class="py-string">'''it's me, "Bar"'''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno"> 292</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L293"></a><tt class="py-lineno"> 293</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L294"></a><tt class="py-lineno"> 294</tt> <tt class="py-line"><tt class="py-string"><foo>it's me, "Bar"</foo></tt> </tt>
-<a name="L295"></a><tt class="py-lineno"> 295</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L296"></a><tt class="py-lineno"> 296</tt> <tt class="py-line"> <tt id="link-161" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-161', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L297"></a><tt class="py-lineno"> 297</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_parameter_invalid"></a><div id="ETreeXSLTTestCase.test_xslt_parameter_invalid-def"><a name="L298"></a><tt class="py-lineno"> 298</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameter_invalid-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameter_invalid');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_invalid">test_xslt_parameter_invalid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_parameter_invalid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameter_invalid-expanded"><a name="L299"></a><tt class="py-lineno"> 299</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-163', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-164', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">.</tt><tt id="link-165" class="py-name" targets="Static Method lxml.etree.XSLT.strparam()=lxml.etree.XSLT-class.html#strparam"><a title="lxml.etree.XSLT.strparam" class="py-name" href="#" onclick="return doclink('link-165', 'strparam', 'link-165');">strparam</a></tt><tt class="py-op">(</tt><tt class="py-string">'''it's me, "Bar"'''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt> <tt class="py-line"><tt class="py-string"><foo>it's me, "Bar"</foo></tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt> <tt class="py-line"> <tt id="link-166" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-166', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L306"></a><tt class="py-lineno"> 306</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_parameter_invalid"></a><div id="ETreeXSLTTestCase.test_xslt_parameter_invalid-def"><a name="L307"></a><tt class="py-lineno"> 307</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameter_invalid-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameter_invalid');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_invalid">test_xslt_parameter_invalid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_parameter_invalid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameter_invalid-expanded"><a name="L308"></a><tt class="py-lineno"> 308</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-162', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L300"></a><tt class="py-lineno"> 300</tt> <tt class="py-line"> <tt id="link-163" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-163', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-167', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt> <tt class="py-line"> <tt id="link-168" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-168', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-164', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L301"></a><tt class="py-lineno"> 301</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L302"></a><tt class="py-lineno"> 302</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L303"></a><tt class="py-lineno"> 303</tt> <tt class="py-line"><tt class="py-string"> <xsl:param name="bar"/></tt> </tt>
-<a name="L304"></a><tt class="py-lineno"> 304</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L305"></a><tt class="py-lineno"> 305</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L306"></a><tt class="py-lineno"> 306</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L307"></a><tt class="py-lineno"> 307</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L308"></a><tt class="py-lineno"> 308</tt> <tt class="py-line"> </tt>
-<a name="L309"></a><tt class="py-lineno"> 309</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-169', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt> <tt class="py-line"><tt class="py-string"> <xsl:param name="bar"/></tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt> <tt class="py-line"> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-170" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-165', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-166', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-167" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-167', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L310"></a><tt class="py-lineno"> 310</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-168" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-170', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-171', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-172" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-172', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-173" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-168', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name" targets="Class lxml.etree.XSLTApplyError=lxml.etree.XSLTApplyError-class.html"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-169', 'XSLTApplyError', 'link-169');">XSLTApplyError</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L311"></a><tt class="py-lineno"> 311</tt> <tt class="py-line"> <tt class="py-name">st</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"<test/>"</tt><tt class="py-op">)</tt> </tt>
-<a name="L312"></a><tt class="py-lineno"> 312</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-170" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-173', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name" targets="Class lxml.etree.XSLTApplyError=lxml.etree.XSLTApplyError-class.html"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-174', 'XSLTApplyError', 'link-174');">XSLTApplyError</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt> <tt class="py-line"> <tt class="py-name">st</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"<test/>"</tt><tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-175" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-170', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-171', 'XSLTApplyError', 'link-169');">XSLTApplyError</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L313"></a><tt class="py-lineno"> 313</tt> <tt class="py-line"> <tt class="py-name">st</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"...."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L314"></a><tt class="py-lineno"> 314</tt> <tt class="py-line"> </tt>
-<a name="L315"></a><tt class="py-lineno"> 315</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-172" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-172', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="lxml.etree.LIBXSLT_VERSION" class="py-name" href="#" onclick="return doclink('link-173', 'LIBXSLT_VERSION', 'link-37');">LIBXSLT_VERSION</a></tt> <tt class="py-op"><</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">18</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L316"></a><tt class="py-lineno"> 316</tt> <tt class="py-line"> <tt class="py-comment"># later versions produce no error</tt> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_parameter_missing"></a><div id="ETreeXSLTTestCase.test_xslt_parameter_missing-def"><a name="L317"></a><tt class="py-lineno"> 317</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameter_missing-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameter_missing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_missing">test_xslt_parameter_missing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_parameter_missing-collapsed" style="display:none;" pad="++++" indent="++++++++++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameter_missing-expanded"><a name="L318"></a><tt class="py-lineno"> 318</tt> <tt class="py-line"> <tt class="py-comment"># apply() without needed parameter will lead to XSLTApplyError</tt> </tt>
-<a name="L319"></a><tt class="py-lineno"> 319</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-175', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-176', 'XSLTApplyError', 'link-174');">XSLTApplyError</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt> <tt class="py-line"> <tt class="py-name">st</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"...."</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L323"></a><tt class="py-lineno"> 323</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_parameter_missing"></a><div id="ETreeXSLTTestCase.test_xslt_parameter_missing-def"><a name="L324"></a><tt class="py-lineno"> 324</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameter_missing-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameter_missing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_missing">test_xslt_parameter_missing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_parameter_missing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameter_missing-expanded"><a name="L325"></a><tt class="py-lineno"> 325</tt> <tt class="py-line"> <tt class="py-comment"># apply() without needed parameter will lead to XSLTApplyError</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-174', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L320"></a><tt class="py-lineno"> 320</tt> <tt class="py-line"> <tt id="link-175" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-175', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-177', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt> <tt class="py-line"> <tt id="link-178" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-178', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-176', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L321"></a><tt class="py-lineno"> 321</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L322"></a><tt class="py-lineno"> 322</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L323"></a><tt class="py-lineno"> 323</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L324"></a><tt class="py-lineno"> 324</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L325"></a><tt class="py-lineno"> 325</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L326"></a><tt class="py-lineno"> 326</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L327"></a><tt class="py-lineno"> 327</tt> <tt class="py-line"> </tt>
-<a name="L328"></a><tt class="py-lineno"> 328</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-177" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-179', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt> <tt class="py-line"> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-180" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-177', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-178', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-179" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-179', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L329"></a><tt class="py-lineno"> 329</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-180" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-180', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-181', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-182" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-182', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt> <tt class="py-line"> <tt class="py-comment"># at least libxslt 1.1.28 produces this error, earlier ones (e.g. 1.1.18) might not ...</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-183" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-180', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-181', 'XSLTApplyError', 'link-169');">XSLTApplyError</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L330"></a><tt class="py-lineno"> 330</tt> <tt class="py-line"> <tt class="py-name">st</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name" targets="Method lxml.etree.XSLT.apply()=lxml.etree.XSLT-class.html#apply"><a title="lxml.etree.XSLT.apply" class="py-name" href="#" onclick="return doclink('link-182', 'apply', 'link-182');">apply</a></tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L331"></a><tt class="py-lineno"> 331</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_multiple_parameters"></a><div id="ETreeXSLTTestCase.test_xslt_multiple_parameters-def"><a name="L332"></a><tt class="py-lineno"> 332</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_multiple_parameters-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_multiple_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_multiple_parameters">test_xslt_multiple_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_multiple_parameters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_multiple_parameters-expanded"><a name="L333"></a><tt class="py-lineno"> 333</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-183', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-184', 'XSLTApplyError', 'link-174');">XSLTApplyError</a></tt><tt class="py-op">,</tt> <tt class="py-name">st</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name" targets="Method lxml.etree.XSLT.apply()=lxml.etree.XSLT-class.html#apply"><a title="lxml.etree.XSLT.apply" class="py-name" href="#" onclick="return doclink('link-185', 'apply', 'link-185');">apply</a></tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L338"></a><tt class="py-lineno"> 338</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_multiple_parameters"></a><div id="ETreeXSLTTestCase.test_xslt_multiple_parameters-def"><a name="L339"></a><tt class="py-lineno"> 339</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_multiple_parameters-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_multiple_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_multiple_parameters">test_xslt_multiple_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_multiple_parameters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_multiple_parameters-expanded"><a name="L340"></a><tt class="py-lineno"> 340</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-183', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L334"></a><tt class="py-lineno"> 334</tt> <tt class="py-line"> <tt id="link-184" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-184', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-186', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt> <tt class="py-line"> <tt id="link-187" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-187', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-185', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L335"></a><tt class="py-lineno"> 335</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L336"></a><tt class="py-lineno"> 336</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L337"></a><tt class="py-lineno"> 337</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L338"></a><tt class="py-lineno"> 338</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L339"></a><tt class="py-lineno"> 339</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L340"></a><tt class="py-lineno"> 340</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$baz" /></foo></tt> </tt>
-<a name="L341"></a><tt class="py-lineno"> 341</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L342"></a><tt class="py-lineno"> 342</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L343"></a><tt class="py-lineno"> 343</tt> <tt class="py-line"> </tt>
-<a name="L344"></a><tt class="py-lineno"> 344</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-186" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-186', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-187', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-188" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-188', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L345"></a><tt class="py-lineno"> 345</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"'Bar'"</tt><tt class="py-op">,</tt> <tt class="py-name">baz</tt><tt class="py-op">=</tt><tt class="py-string">"'Baz'"</tt><tt class="py-op">)</tt> </tt>
-<a name="L346"></a><tt class="py-lineno"> 346</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L347"></a><tt class="py-lineno"> 347</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L348"></a><tt class="py-lineno"> 348</tt> <tt class="py-line"><tt class="py-string"><foo>Bar</foo><foo>Baz</foo></tt> </tt>
-<a name="L349"></a><tt class="py-lineno"> 349</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L350"></a><tt class="py-lineno"> 350</tt> <tt class="py-line"> <tt id="link-189" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-189', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L351"></a><tt class="py-lineno"> 351</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_parameter_xpath"></a><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath-def"><a name="L352"></a><tt class="py-lineno"> 352</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameter_xpath-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameter_xpath');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_xpath">test_xslt_parameter_xpath</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath-expanded"><a name="L353"></a><tt class="py-lineno"> 353</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-188', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$baz" /></foo></tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt> <tt class="py-line"> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-189" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-189', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-190', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-191" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-191', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"'Bar'"</tt><tt class="py-op">,</tt> <tt class="py-name">baz</tt><tt class="py-op">=</tt><tt class="py-string">"'Baz'"</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt> <tt class="py-line"><tt class="py-string"><foo>Bar</foo><foo>Baz</foo></tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt> <tt class="py-line"> <tt id="link-192" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-192', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L358"></a><tt class="py-lineno"> 358</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_parameter_xpath"></a><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath-def"><a name="L359"></a><tt class="py-lineno"> 359</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameter_xpath-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameter_xpath');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_xpath">test_xslt_parameter_xpath</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath-expanded"><a name="L360"></a><tt class="py-lineno"> 360</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-190', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L354"></a><tt class="py-lineno"> 354</tt> <tt class="py-line"> <tt id="link-191" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-191', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-193', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt> <tt class="py-line"> <tt id="link-194" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-194', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-192', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L355"></a><tt class="py-lineno"> 355</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L356"></a><tt class="py-lineno"> 356</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L357"></a><tt class="py-lineno"> 357</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L358"></a><tt class="py-lineno"> 358</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L359"></a><tt class="py-lineno"> 359</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L360"></a><tt class="py-lineno"> 360</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L361"></a><tt class="py-lineno"> 361</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L362"></a><tt class="py-lineno"> 362</tt> <tt class="py-line"> </tt>
-<a name="L363"></a><tt class="py-lineno"> 363</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-193" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-193', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-194', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-195" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-195', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L364"></a><tt class="py-lineno"> 364</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"/a/b/text()"</tt><tt class="py-op">)</tt> </tt>
-<a name="L365"></a><tt class="py-lineno"> 365</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L366"></a><tt class="py-lineno"> 366</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L367"></a><tt class="py-lineno"> 367</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
-<a name="L368"></a><tt class="py-lineno"> 368</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L369"></a><tt class="py-lineno"> 369</tt> <tt class="py-line"> <tt id="link-196" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-196', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L370"></a><tt class="py-lineno"> 370</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_parameter_xpath_object"></a><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath_object-def"><a name="L371"></a><tt class="py-lineno"> 371</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameter_xpath_object-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameter_xpath_object');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_xpath_object">test_xslt_parameter_xpath_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath_object-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath_object-expanded"><a name="L372"></a><tt class="py-lineno"> 372</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-195', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt> <tt class="py-line"> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-196" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-196', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-197', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-198" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-198', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"/a/b/text()"</tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt> <tt class="py-line"> <tt id="link-199" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-199', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L377"></a><tt class="py-lineno"> 377</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_parameter_xpath_object"></a><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath_object-def"><a name="L378"></a><tt class="py-lineno"> 378</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_parameter_xpath_object-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_parameter_xpath_object');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_parameter_xpath_object">test_xslt_parameter_xpath_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath_object-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_parameter_xpath_object-expanded"><a name="L379"></a><tt class="py-lineno"> 379</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-197', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno"> 373</tt> <tt class="py-line"> <tt id="link-198" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-198', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-200', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt> <tt class="py-line"> <tt id="link-201" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-201', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-199', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L374"></a><tt class="py-lineno"> 374</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L375"></a><tt class="py-lineno"> 375</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L376"></a><tt class="py-lineno"> 376</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L377"></a><tt class="py-lineno"> 377</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L378"></a><tt class="py-lineno"> 378</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L379"></a><tt class="py-lineno"> 379</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L380"></a><tt class="py-lineno"> 380</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L381"></a><tt class="py-lineno"> 381</tt> <tt class="py-line"> </tt>
-<a name="L382"></a><tt class="py-lineno"> 382</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-200" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-202', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt> <tt class="py-line"> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-203" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-200', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-201', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-202" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-202', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L383"></a><tt class="py-lineno"> 383</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt id="link-203" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-203', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-204', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-205" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-205', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt id="link-206" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-203', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-204" class="py-name" targets="Class lxml.etree.XPath=lxml.etree.XPath-class.html"><a title="lxml.etree.XPath" class="py-name" href="#" onclick="return doclink('link-204', 'XPath', 'link-204');">XPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"/a/b/text()"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L384"></a><tt class="py-lineno"> 384</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L385"></a><tt class="py-lineno"> 385</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L386"></a><tt class="py-lineno"> 386</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
-<a name="L387"></a><tt class="py-lineno"> 387</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L388"></a><tt class="py-lineno"> 388</tt> <tt class="py-line"> <tt id="link-205" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-205', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L389"></a><tt class="py-lineno"> 389</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_default_parameters"></a><div id="ETreeXSLTTestCase.test_xslt_default_parameters-def"><a name="L390"></a><tt class="py-lineno"> 390</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_default_parameters-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_default_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_default_parameters">test_xslt_default_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_default_parameters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_default_parameters-expanded"><a name="L391"></a><tt class="py-lineno"> 391</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-206', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-207" class="py-name" targets="Class lxml.etree.XPath=lxml.etree.XPath-class.html"><a title="lxml.etree.XPath" class="py-name" href="#" onclick="return doclink('link-207', 'XPath', 'link-207');">XPath</a></tt><tt class="py-op">(</tt><tt class="py-string">"/a/b/text()"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt> <tt class="py-line"> <tt id="link-208" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-208', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L396"></a><tt class="py-lineno"> 396</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_default_parameters"></a><div id="ETreeXSLTTestCase.test_xslt_default_parameters-def"><a name="L397"></a><tt class="py-lineno"> 397</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_default_parameters-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_default_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_default_parameters">test_xslt_default_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_default_parameters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_default_parameters-expanded"><a name="L398"></a><tt class="py-lineno"> 398</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-206', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L392"></a><tt class="py-lineno"> 392</tt> <tt class="py-line"> <tt id="link-207" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-207', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-209', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt> <tt class="py-line"> <tt id="link-210" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-210', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-208', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L393"></a><tt class="py-lineno"> 393</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L394"></a><tt class="py-lineno"> 394</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L395"></a><tt class="py-lineno"> 395</tt> <tt class="py-line"><tt class="py-string"> <xsl:param name="bar" select="'Default'" /></tt> </tt>
-<a name="L396"></a><tt class="py-lineno"> 396</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L397"></a><tt class="py-lineno"> 397</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L398"></a><tt class="py-lineno"> 398</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L399"></a><tt class="py-lineno"> 399</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L400"></a><tt class="py-lineno"> 400</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L401"></a><tt class="py-lineno"> 401</tt> <tt class="py-line"> </tt>
-<a name="L402"></a><tt class="py-lineno"> 402</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-209" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-209', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-210', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-211" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-211', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L403"></a><tt class="py-lineno"> 403</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"'Bar'"</tt><tt class="py-op">)</tt> </tt>
-<a name="L404"></a><tt class="py-lineno"> 404</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L405"></a><tt class="py-lineno"> 405</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L406"></a><tt class="py-lineno"> 406</tt> <tt class="py-line"><tt class="py-string"><foo>Bar</foo></tt> </tt>
-<a name="L407"></a><tt class="py-lineno"> 407</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L408"></a><tt class="py-lineno"> 408</tt> <tt class="py-line"> <tt id="link-212" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-212', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L409"></a><tt class="py-lineno"> 409</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L410"></a><tt class="py-lineno"> 410</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L411"></a><tt class="py-lineno"> 411</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L412"></a><tt class="py-lineno"> 412</tt> <tt class="py-line"><tt class="py-string"><foo>Default</foo></tt> </tt>
-<a name="L413"></a><tt class="py-lineno"> 413</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L414"></a><tt class="py-lineno"> 414</tt> <tt class="py-line"> <tt id="link-213" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-213', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L415"></a><tt class="py-lineno"> 415</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_html_output"></a><div id="ETreeXSLTTestCase.test_xslt_html_output-def"><a name="L416"></a><tt class="py-lineno"> 416</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_html_output-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_html_output');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_html_output">test_xslt_html_output</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_html_output-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_html_output-expanded"><a name="L417"></a><tt class="py-lineno"> 417</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-211', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt> <tt class="py-line"><tt class="py-string"> <xsl:param name="bar" select="'Default'" /></tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt> <tt class="py-line"> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-212" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-212', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-213', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-214" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-214', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"'Bar'"</tt><tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt> <tt class="py-line"><tt class="py-string"><foo>Bar</foo></tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt> <tt class="py-line"> <tt id="link-215" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-215', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt> <tt class="py-line"><tt class="py-string"><foo>Default</foo></tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt> <tt class="py-line"> <tt id="link-216" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-216', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L422"></a><tt class="py-lineno"> 422</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_html_output"></a><div id="ETreeXSLTTestCase.test_xslt_html_output-def"><a name="L423"></a><tt class="py-lineno"> 423</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_html_output-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_html_output');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_html_output">test_xslt_html_output</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_html_output-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_html_output-expanded"><a name="L424"></a><tt class="py-lineno"> 424</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-214', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L418"></a><tt class="py-lineno"> 418</tt> <tt class="py-line"> <tt id="link-215" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-215', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-217', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt> <tt class="py-line"> <tt id="link-218" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-218', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-216', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L419"></a><tt class="py-lineno"> 419</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L420"></a><tt class="py-lineno"> 420</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L421"></a><tt class="py-lineno"> 421</tt> <tt class="py-line"><tt class="py-string"> <xsl:output method="html"/></tt> </tt>
-<a name="L422"></a><tt class="py-lineno"> 422</tt> <tt class="py-line"><tt class="py-string"> <xsl:strip-space elements="*"/></tt> </tt>
-<a name="L423"></a><tt class="py-lineno"> 423</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L424"></a><tt class="py-lineno"> 424</tt> <tt class="py-line"><tt class="py-string"> <html><body><xsl:value-of select="/a/b/text()" /></body></html></tt> </tt>
-<a name="L425"></a><tt class="py-lineno"> 425</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L426"></a><tt class="py-lineno"> 426</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L427"></a><tt class="py-lineno"> 427</tt> <tt class="py-line"> </tt>
-<a name="L428"></a><tt class="py-lineno"> 428</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-217" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-219', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt> <tt class="py-line"><tt class="py-string"> <xsl:output method="html"/></tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt> <tt class="py-line"><tt class="py-string"> <xsl:strip-space elements="*"/></tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt> <tt class="py-line"><tt class="py-string"> <html><body><xsl:value-of select="/a/b/text()" /></body></html></tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt> <tt class="py-line"> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-220" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-217', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-218', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-219" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-219', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L429"></a><tt class="py-lineno"> 429</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L430"></a><tt class="py-lineno"> 430</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'<html><body>B</body></html>'</tt><tt class="py-op">,</tt> </tt>
-<a name="L431"></a><tt class="py-lineno"> 431</tt> <tt class="py-line"> <tt id="link-220" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-220', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name" targets="Function lxml.doctestcompare.strip()=lxml.doctestcompare-module.html#strip"><a title="lxml.doctestcompare.strip" class="py-name" href="#" onclick="return doclink('link-221', 'strip', 'link-221');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L432"></a><tt class="py-lineno"> 432</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_include"></a><div id="ETreeXSLTTestCase.test_xslt_include-def"><a name="L433"></a><tt class="py-lineno"> 433</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_include-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_include');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include">test_xslt_include</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_include-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_include-expanded"><a name="L434"></a><tt class="py-lineno"> 434</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-222" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-220', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-221', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-222" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-222', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'<html><body>B</body></html>'</tt><tt class="py-op">,</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt> <tt class="py-line"> <tt id="link-223" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-223', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name" targets="Function lxml.doctestcompare.strip()=lxml.doctestcompare-module.html#strip"><a title="lxml.doctestcompare.strip" class="py-name" href="#" onclick="return doclink('link-224', 'strip', 'link-224');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L439"></a><tt class="py-lineno"> 439</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_include"></a><div id="ETreeXSLTTestCase.test_xslt_include-def"><a name="L440"></a><tt class="py-lineno"> 440</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_include-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_include');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include">test_xslt_include</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_include-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_include-expanded"><a name="L441"></a><tt class="py-lineno"> 441</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-222', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-225', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-223', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-224" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-224', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test1.xslt'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L435"></a><tt class="py-lineno"> 435</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-226', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-227" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-227', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test1.xslt'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-228" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-225', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-226', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L436"></a><tt class="py-lineno"> 436</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_include_from_filelike"></a><div id="ETreeXSLTTestCase.test_xslt_include_from_filelike-def"><a name="L437"></a><tt class="py-lineno"> 437</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_include_from_filelike-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_include_from_filelike');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include_from_filelike">test_xslt_include_from_filelike</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_include_from_filelike-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_include_from_filelike-expanded"><a name="L438"></a><tt class="py-lineno"> 438</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-227" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-227', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test1.xslt'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L439"></a><tt class="py-lineno"> 439</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-228" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-228', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-229', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L443"></a><tt class="py-lineno"> 443</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_include_from_filelike"></a><div id="ETreeXSLTTestCase.test_xslt_include_from_filelike-def"><a name="L444"></a><tt class="py-lineno"> 444</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_include_from_filelike-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_include_from_filelike');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_include_from_filelike">test_xslt_include_from_filelike</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_include_from_filelike-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_include_from_filelike-expanded"><a name="L445"></a><tt class="py-lineno"> 445</tt> <tt class="py-line"> <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-230" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-230', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test1.xslt'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-231" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-228', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-231', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-229', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L440"></a><tt class="py-lineno"> 440</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name" targets="Method lxml.etree.TreeBuilder.close()=lxml.etree.TreeBuilder-class.html#close,Method lxml.etree._FeedParser.close()=lxml.etree._FeedParser-class.html#close,Method lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close()=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html#close"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-232', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt> <tt class="py-line"> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name" targets="Method lxml.etree.TreeBuilder.close()=lxml.etree.TreeBuilder-class.html#close,Method lxml.etree._FeedParser.close()=lxml.etree._FeedParser-class.html#close,Method lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close()=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html#close"><a title="lxml.etree.TreeBuilder.close
lxml.etree._FeedParser.close
-lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-230', 'close', 'link-230');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L441"></a><tt class="py-lineno"> 441</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-231" class="py-name"><a title="lxml.etree
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-233', 'close', 'link-233');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-234" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-231', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-232', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L442"></a><tt class="py-lineno"> 442</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_multiple_transforms"></a><div id="ETreeXSLTTestCase.test_xslt_multiple_transforms-def"><a name="L443"></a><tt class="py-lineno"> 443</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_multiple_transforms-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_multiple_transforms');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_multiple_transforms">test_xslt_multiple_transforms</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_multiple_transforms-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_multiple_transforms-expanded"><a name="L444"></a><tt class="py-lineno"> 444</tt> <tt class="py-line"> <tt id="link-233" class="py-name" targets="Variable lxml.tests.test_threading.ThreadPipelineTestCase.xml=lxml.tests.test_threading.ThreadPipelineTestCase-class.html#xml"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-233', 'xml', 'link-233');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<a/>'</tt> </tt>
-<a name="L445"></a><tt class="py-lineno"> 445</tt> <tt class="py-line"> <tt id="link-234" class="py-name" targets="Method lxml.etree._ElementTree.xslt()=lxml.etree._ElementTree-class.html#xslt"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-234', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''\</tt> </tt>
-<a name="L446"></a><tt class="py-lineno"> 446</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
-<a name="L447"></a><tt class="py-lineno"> 447</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L448"></a><tt class="py-lineno"> 448</tt> <tt class="py-line"><tt class="py-string"> <response>Some text</response></tt> </tt>
-<a name="L449"></a><tt class="py-lineno"> 449</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L450"></a><tt class="py-lineno"> 450</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L451"></a><tt class="py-lineno"> 451</tt> <tt class="py-line"><tt class="py-string">'''</tt> </tt>
-<a name="L452"></a><tt class="py-lineno"> 452</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-234', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-235', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L449"></a><tt class="py-lineno"> 449</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_multiple_transforms"></a><div id="ETreeXSLTTestCase.test_xslt_multiple_transforms-def"><a name="L450"></a><tt class="py-lineno"> 450</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_multiple_transforms-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_multiple_transforms');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_multiple_transforms">test_xslt_multiple_transforms</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_multiple_transforms-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_multiple_transforms-expanded"><a name="L451"></a><tt class="py-lineno"> 451</tt> <tt class="py-line"> <tt id="link-236" class="py-name" targets="Variable lxml.tests.test_threading.ThreadPipelineTestCase.xml=lxml.tests.test_threading.ThreadPipelineTestCase-class.html#xml"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-236', 'xml', 'link-236');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<a/>'</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt> <tt class="py-line"> <tt id="link-237" class="py-name" targets="Method lxml.etree._ElementTree.xslt()=lxml.etree._ElementTree-class.html#xslt"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-237', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''\</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt> <tt class="py-line"><tt class="py-string"> <response>Some text</response></tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt> <tt class="py-line"><tt class="py-string">'''</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-235', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-236" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-236', 'xml', 'link-233');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L453"></a><tt class="py-lineno"> 453</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-238', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-239" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-239', 'xml', 'link-236');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-237', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-238" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-238', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L454"></a><tt class="py-lineno"> 454</tt> <tt class="py-line"> <tt id="link-239" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-239', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-240" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-240', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-241" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-241', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt> <tt class="py-line"> <tt id="link-242" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-242', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-243" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-240', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-241', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
-<a name="L455"></a><tt class="py-lineno"> 455</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-242" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-242', 'style', 'link-24');">style</a></tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L456"></a><tt class="py-lineno"> 456</tt> <tt class="py-line"> </tt>
-<a name="L457"></a><tt class="py-lineno"> 457</tt> <tt class="py-line"> <tt id="link-243" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-243', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-244', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-245" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-245', 'style', 'link-24');">style</a></tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt> <tt class="py-line"> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt> <tt class="py-line"> <tt id="link-246" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-243', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-244" class="py-name" targets="Method lxml.etree.XSLT.tostring()=lxml.etree.XSLT-class.html#tostring,Function lxml.etree.tostring()=lxml.etree-module.html#tostring"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-244', 'tostring', 'link-244');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-245', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L458"></a><tt class="py-lineno"> 458</tt> <tt class="py-line"> </tt>
-<a name="L459"></a><tt class="py-lineno"> 459</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-246', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-247" class="py-name" targets="Method lxml.etree.XSLT.tostring()=lxml.etree.XSLT-class.html#tostring,Function lxml.etree.tostring()=lxml.etree-module.html#tostring"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-247', 'tostring', 'link-247');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-248', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt> <tt class="py-line"> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-246', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-247" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-247', 'xml', 'link-233');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L460"></a><tt class="py-lineno"> 460</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-249', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-250" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-250', 'xml', 'link-236');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-248', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-249" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-249', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L461"></a><tt class="py-lineno"> 461</tt> <tt class="py-line"> <tt id="link-250" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-250', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-251" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-251', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-252" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-252', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt> <tt class="py-line"> <tt id="link-253" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-253', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-254" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-251', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-252', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
-<a name="L462"></a><tt class="py-lineno"> 462</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-253" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-253', 'style', 'link-24');">style</a></tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L463"></a><tt class="py-lineno"> 463</tt> <tt class="py-line"> </tt>
-<a name="L464"></a><tt class="py-lineno"> 464</tt> <tt class="py-line"> <tt id="link-254" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-254', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-255', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-256" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-256', 'style', 'link-24');">style</a></tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt> <tt class="py-line"> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt> <tt class="py-line"> <tt id="link-257" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-254', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-255', 'tostring', 'link-244');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-256', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L465"></a><tt class="py-lineno"> 465</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_repeat_transform"></a><div id="ETreeXSLTTestCase.test_xslt_repeat_transform-def"><a name="L466"></a><tt class="py-lineno"> 466</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_repeat_transform-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_repeat_transform');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_repeat_transform">test_xslt_repeat_transform</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_repeat_transform-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_repeat_transform-expanded"><a name="L467"></a><tt class="py-lineno"> 467</tt> <tt class="py-line"> <tt id="link-257" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-257', 'xml', 'link-233');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<a/>'</tt> </tt>
-<a name="L468"></a><tt class="py-lineno"> 468</tt> <tt class="py-line"> <tt id="link-258" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-258', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''\</tt> </tt>
-<a name="L469"></a><tt class="py-lineno"> 469</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
-<a name="L470"></a><tt class="py-lineno"> 470</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L471"></a><tt class="py-lineno"> 471</tt> <tt class="py-line"><tt class="py-string"> <response>Some text</response></tt> </tt>
-<a name="L472"></a><tt class="py-lineno"> 472</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L473"></a><tt class="py-lineno"> 473</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L474"></a><tt class="py-lineno"> 474</tt> <tt class="py-line"><tt class="py-string">'''</tt> </tt>
-<a name="L475"></a><tt class="py-lineno"> 475</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-257', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-258', 'tostring', 'link-247');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-259', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L472"></a><tt class="py-lineno"> 472</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_repeat_transform"></a><div id="ETreeXSLTTestCase.test_xslt_repeat_transform-def"><a name="L473"></a><tt class="py-lineno"> 473</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_repeat_transform-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_repeat_transform');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_repeat_transform">test_xslt_repeat_transform</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_repeat_transform-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_repeat_transform-expanded"><a name="L474"></a><tt class="py-lineno"> 474</tt> <tt class="py-line"> <tt id="link-260" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-260', 'xml', 'link-236');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<a/>'</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt> <tt class="py-line"> <tt id="link-261" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-261', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''\</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt> <tt class="py-line"><tt class="py-string"> <response>Some text</response></tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt> <tt class="py-line"><tt class="py-string">'''</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-259', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-260" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-260', 'xml', 'link-233');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L476"></a><tt class="py-lineno"> 476</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-262', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-263" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-263', 'xml', 'link-236');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-261', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-262" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-262', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L477"></a><tt class="py-lineno"> 477</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-263" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-264', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-265" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-265', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-266" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-263', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-264', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
-<a name="L478"></a><tt class="py-lineno"> 478</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L479"></a><tt class="py-lineno"> 479</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L480"></a><tt class="py-lineno"> 480</tt> <tt class="py-line"> <tt id="link-265" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-265', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-266', 'tostring', 'link-244');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-267', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L481"></a><tt class="py-lineno"> 481</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L482"></a><tt class="py-lineno"> 482</tt> <tt class="py-line"> <tt id="link-268" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-266', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-267', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt> <tt class="py-line"> <tt id="link-268" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-268', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-269', 'tostring', 'link-244');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-270', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L483"></a><tt class="py-lineno"> 483</tt> <tt class="py-line"> <tt id="link-271" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-271', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L484"></a><tt class="py-lineno"> 484</tt> <tt class="py-line"> </tt>
-<a name="L485"></a><tt class="py-lineno"> 485</tt> <tt class="py-line"> <tt class="py-name">result1</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L486"></a><tt class="py-lineno"> 486</tt> <tt class="py-line"> <tt class="py-name">result2</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L487"></a><tt class="py-lineno"> 487</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-272" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-272', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-273" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-273', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-269', 'tostring', 'link-247');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-270', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L488"></a><tt class="py-lineno"> 488</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L489"></a><tt class="py-lineno"> 489</tt> <tt class="py-line"> <tt id="link-274" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-274', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L490"></a><tt class="py-lineno"> 490</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_empty"></a><div id="ETreeXSLTTestCase.test_xslt_empty-def"><a name="L491"></a><tt class="py-lineno"> 491</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_empty-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_empty">test_xslt_empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_empty-expanded"><a name="L492"></a><tt class="py-lineno"> 492</tt> <tt class="py-line"> <tt class="py-comment"># could segfault if result contains "empty document"</tt> </tt>
-<a name="L493"></a><tt class="py-lineno"> 493</tt> <tt class="py-line"> <tt id="link-275" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-275', 'xml', 'link-233');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<blah/>'</tt> </tt>
-<a name="L494"></a><tt class="py-lineno"> 494</tt> <tt class="py-line"> <tt id="link-276" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-276', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''</tt> </tt>
-<a name="L495"></a><tt class="py-lineno"> 495</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
-<a name="L496"></a><tt class="py-lineno"> 496</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/" /></tt> </tt>
-<a name="L497"></a><tt class="py-lineno"> 497</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet></tt> </tt>
-<a name="L498"></a><tt class="py-lineno"> 498</tt> <tt class="py-line"><tt class="py-string"> '''</tt> </tt>
-<a name="L499"></a><tt class="py-lineno"> 499</tt> <tt class="py-line"> </tt>
-<a name="L500"></a><tt class="py-lineno"> 500</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L489"></a><tt class="py-lineno"> 489</tt> <tt class="py-line"> <tt id="link-271" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-271', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-272', 'tostring', 'link-247');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-273', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt> <tt class="py-line"> <tt id="link-274" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-274', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt> <tt class="py-line"> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt> <tt class="py-line"> <tt class="py-name">result1</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt> <tt class="py-line"> <tt class="py-name">result2</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-275" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-275', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-276" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-276', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt> <tt class="py-line"> <tt id="link-277" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-277', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L497"></a><tt class="py-lineno"> 497</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_empty"></a><div id="ETreeXSLTTestCase.test_xslt_empty-def"><a name="L498"></a><tt class="py-lineno"> 498</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_empty-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_empty');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_empty">test_xslt_empty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_empty-expanded"><a name="L499"></a><tt class="py-lineno"> 499</tt> <tt class="py-line"> <tt class="py-comment"># could segfault if result contains "empty document"</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt> <tt class="py-line"> <tt id="link-278" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-278', 'xml', 'link-236');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<blah/>'</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt> <tt class="py-line"> <tt id="link-279" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-279', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/" /></tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet></tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt> <tt class="py-line"><tt class="py-string"> '''</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt> <tt class="py-line"> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-277', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-278" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-278', 'xml', 'link-233');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L501"></a><tt class="py-lineno"> 501</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-280', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-281" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-281', 'xml', 'link-236');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-279', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-280" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-280', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L502"></a><tt class="py-lineno"> 502</tt> <tt class="py-line"> <tt id="link-281" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-281', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-282" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-282', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-283', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
-<a name="L503"></a><tt class="py-lineno"> 503</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-284" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-284', 'style', 'link-24');">style</a></tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L504"></a><tt class="py-lineno"> 504</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-285" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-285', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L505"></a><tt class="py-lineno"> 505</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_message"></a><div id="ETreeXSLTTestCase.test_xslt_message-def"><a name="L506"></a><tt class="py-lineno"> 506</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_message-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_message');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message">test_xslt_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_message-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_message-expanded"><a name="L507"></a><tt class="py-lineno"> 507</tt> <tt class="py-line"> <tt id="link-286" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-286', 'xml', 'link-233');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<blah/>'</tt> </tt>
-<a name="L508"></a><tt class="py-lineno"> 508</tt> <tt class="py-line"> <tt id="link-287" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-287', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''</tt> </tt>
-<a name="L509"></a><tt class="py-lineno"> 509</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
-<a name="L510"></a><tt class="py-lineno"> 510</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L511"></a><tt class="py-lineno"> 511</tt> <tt class="py-line"><tt class="py-string"> <xsl:message>TEST TEST TEST</xsl:message></tt> </tt>
-<a name="L512"></a><tt class="py-lineno"> 512</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L513"></a><tt class="py-lineno"> 513</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet></tt> </tt>
-<a name="L514"></a><tt class="py-lineno"> 514</tt> <tt class="py-line"><tt class="py-string"> '''</tt> </tt>
-<a name="L515"></a><tt class="py-lineno"> 515</tt> <tt class="py-line"> </tt>
-<a name="L516"></a><tt class="py-lineno"> 516</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-282', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-283" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-283', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt> <tt class="py-line"> <tt id="link-284" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-284', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-285" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-285', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-286', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-287" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-287', 'style', 'link-24');">style</a></tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-288" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-288', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L512"></a><tt class="py-lineno"> 512</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_message"></a><div id="ETreeXSLTTestCase.test_xslt_message-def"><a name="L513"></a><tt class="py-lineno"> 513</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_message-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_message');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message">test_xslt_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_message-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_message-expanded"><a name="L514"></a><tt class="py-lineno"> 514</tt> <tt class="py-line"> <tt id="link-289" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-289', 'xml', 'link-236');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<blah/>'</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt> <tt class="py-line"> <tt id="link-290" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-290', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt> <tt class="py-line"><tt class="py-string"> <xsl:message>TEST TEST TEST</xsl:message></tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet></tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt> <tt class="py-line"><tt class="py-string"> '''</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt> <tt class="py-line"> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-288', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-289" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-289', 'xml', 'link-233');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L517"></a><tt class="py-lineno"> 517</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-291', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-292" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-292', 'xml', 'link-236');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-290', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-291" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-291', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L518"></a><tt class="py-lineno"> 518</tt> <tt class="py-line"> <tt id="link-292" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-292', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-293" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-293', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-294" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-294', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt> <tt class="py-line"> <tt id="link-295" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-295', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-296" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-293', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-294', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
-<a name="L519"></a><tt class="py-lineno"> 519</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-295" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-295', 'style', 'link-24');">style</a></tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L520"></a><tt class="py-lineno"> 520</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-296" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-296', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L521"></a><tt class="py-lineno"> 521</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"TEST TEST TEST"</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">entry</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name" targets="Variable lxml.etree._LogEntry.message=lxml.etree._LogEntry-class.html#message"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-297', 'message', 'link-297');">message</a></tt> </tt>
-<a name="L522"></a><tt class="py-lineno"> 522</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">entry</tt> <tt class="py-keyword">in</tt> <tt id="link-298" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-298', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-299" class="py-name" targets="Variable lxml.etree.XInclude.error_log=lxml.etree.XInclude-class.html#error_log,Variable lxml.etree.XSLT.error_log=lxml.etree.XSLT-class.html#error_log,Variable lxml.etree._Validator.error_log=lxml.etree._Validator-class.html#error_log,Variable lxml.etree._XPathEvaluatorBase.error_log=lxml.etree._XPathEvaluatorBase-class.html#error_log,Variable lxml.etree.iterparse.error_log=lxml.etree.iterparse-class.html#error_log"><a title="lxml.etree.XInclude.error_log
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-296', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-297', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-298" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-298', 'style', 'link-24');">style</a></tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt id="link-299" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-299', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"TEST TEST TEST"</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">entry</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name" targets="Variable lxml.etree._LogEntry.message=lxml.etree._LogEntry-class.html#message"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-300', 'message', 'link-300');">message</a></tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">entry</tt> <tt class="py-keyword">in</tt> <tt id="link-301" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-301', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="lxml.etree.XInclude.error_log
lxml.etree.XSLT.error_log
lxml.etree._Validator.error_log
lxml.etree._XPathEvaluatorBase.error_log
-lxml.etree.iterparse.error_log" class="py-name" href="#" onclick="return doclink('link-299', 'error_log', 'link-299');">error_log</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L523"></a><tt class="py-lineno"> 523</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_message_terminate"></a><div id="ETreeXSLTTestCase.test_xslt_message_terminate-def"><a name="L524"></a><tt class="py-lineno"> 524</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_message_terminate-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_message_terminate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message_terminate">test_xslt_message_terminate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_message_terminate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_message_terminate-expanded"><a name="L525"></a><tt class="py-lineno"> 525</tt> <tt class="py-line"> <tt id="link-300" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-300', 'xml', 'link-233');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<blah/>'</tt> </tt>
-<a name="L526"></a><tt class="py-lineno"> 526</tt> <tt class="py-line"> <tt id="link-301" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-301', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''</tt> </tt>
-<a name="L527"></a><tt class="py-lineno"> 527</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
-<a name="L528"></a><tt class="py-lineno"> 528</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L529"></a><tt class="py-lineno"> 529</tt> <tt class="py-line"><tt class="py-string"> <xsl:message terminate="yes">TEST TEST TEST</xsl:message></tt> </tt>
-<a name="L530"></a><tt class="py-lineno"> 530</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L531"></a><tt class="py-lineno"> 531</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet></tt> </tt>
-<a name="L532"></a><tt class="py-lineno"> 532</tt> <tt class="py-line"><tt class="py-string"> '''</tt> </tt>
-<a name="L533"></a><tt class="py-lineno"> 533</tt> <tt class="py-line"> </tt>
-<a name="L534"></a><tt class="py-lineno"> 534</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree.iterparse.error_log" class="py-name" href="#" onclick="return doclink('link-302', 'error_log', 'link-147');">error_log</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L530"></a><tt class="py-lineno"> 530</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_message_terminate"></a><div id="ETreeXSLTTestCase.test_xslt_message_terminate-def"><a name="L531"></a><tt class="py-lineno"> 531</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_message_terminate-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_message_terminate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_message_terminate">test_xslt_message_terminate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_message_terminate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_message_terminate-expanded"><a name="L532"></a><tt class="py-lineno"> 532</tt> <tt class="py-line"> <tt id="link-303" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-303', 'xml', 'link-236');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'<blah/>'</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt> <tt class="py-line"> <tt id="link-304" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-304', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'''</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"></tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt> <tt class="py-line"><tt class="py-string"> <xsl:message terminate="yes">TEST TEST TEST</xsl:message></tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet></tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt> <tt class="py-line"><tt class="py-string"> '''</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt> <tt class="py-line"> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt> <tt class="py-line"> <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-302', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-303" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-303', 'xml', 'link-233');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L535"></a><tt class="py-lineno"> 535</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-305', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-306" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-306', 'xml', 'link-236');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt> <tt class="py-line"> <tt class="py-name">styledoc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-304', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-305" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-305', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L536"></a><tt class="py-lineno"> 536</tt> <tt class="py-line"> <tt id="link-306" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-306', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-307" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-307', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-308" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-308', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt> <tt class="py-line"> <tt id="link-309" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-309', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt id="link-310" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-307', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-308', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
-<a name="L537"></a><tt class="py-lineno"> 537</tt> <tt class="py-line"> </tt>
-<a name="L538"></a><tt class="py-lineno"> 538</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-309" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-310', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-311" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-311', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">styledoc</tt><tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt> <tt class="py-line"> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-312" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-309', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-310', 'XSLTApplyError', 'link-169');">XSLTApplyError</a></tt><tt class="py-op">,</tt> <tt id="link-311" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-311', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
-<a name="L539"></a><tt class="py-lineno"> 539</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"TEST TEST TEST"</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">entry</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-312', 'message', 'link-297');">message</a></tt> </tt>
-<a name="L540"></a><tt class="py-lineno"> 540</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">entry</tt> <tt class="py-keyword">in</tt> <tt id="link-313" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-313', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="lxml.etree.XInclude.error_log
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-312', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-313', 'XSLTApplyError', 'link-174');">XSLTApplyError</a></tt><tt class="py-op">,</tt> <tt id="link-314" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-314', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"TEST TEST TEST"</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">entry</tt><tt class="py-op">.</tt><tt id="link-315" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-315', 'message', 'link-300');">message</a></tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">entry</tt> <tt class="py-keyword">in</tt> <tt id="link-316" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-316', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="lxml.etree.XInclude.error_log
lxml.etree.XSLT.error_log
lxml.etree._Validator.error_log
lxml.etree._XPathEvaluatorBase.error_log
-lxml.etree.iterparse.error_log" class="py-name" href="#" onclick="return doclink('link-314', 'error_log', 'link-299');">error_log</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L541"></a><tt class="py-lineno"> 541</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_shortcut"></a><div id="ETreeXSLTTestCase.test_xslt_shortcut-def"><a name="L542"></a><tt class="py-lineno"> 542</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_shortcut-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_shortcut');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_shortcut">test_xslt_shortcut</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_shortcut-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_shortcut-expanded"><a name="L543"></a><tt class="py-lineno"> 543</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-315" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree.iterparse.error_log" class="py-name" href="#" onclick="return doclink('link-317', 'error_log', 'link-147');">error_log</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L548"></a><tt class="py-lineno"> 548</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_shortcut"></a><div id="ETreeXSLTTestCase.test_xslt_shortcut-def"><a name="L549"></a><tt class="py-lineno"> 549</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_shortcut-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_shortcut');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_shortcut">test_xslt_shortcut</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_shortcut-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_shortcut-expanded"><a name="L550"></a><tt class="py-lineno"> 550</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-315', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L544"></a><tt class="py-lineno"> 544</tt> <tt class="py-line"> <tt id="link-316" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-316', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-318', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt> <tt class="py-line"> <tt id="link-319" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-319', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-320" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-317', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L545"></a><tt class="py-lineno"> 545</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L546"></a><tt class="py-lineno"> 546</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L547"></a><tt class="py-lineno"> 547</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L548"></a><tt class="py-lineno"> 548</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L549"></a><tt class="py-lineno"> 549</tt> <tt class="py-line"><tt class="py-string"> <doc></tt> </tt>
-<a name="L550"></a><tt class="py-lineno"> 550</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
-<a name="L551"></a><tt class="py-lineno"> 551</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$baz" /></foo></tt> </tt>
-<a name="L552"></a><tt class="py-lineno"> 552</tt> <tt class="py-line"><tt class="py-string"> </doc></tt> </tt>
-<a name="L553"></a><tt class="py-lineno"> 553</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L554"></a><tt class="py-lineno"> 554</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L555"></a><tt class="py-lineno"> 555</tt> <tt class="py-line"> </tt>
-<a name="L556"></a><tt class="py-lineno"> 556</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-318', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-319" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-319', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"'Bar'"</tt><tt class="py-op">,</tt> <tt class="py-name">baz</tt><tt class="py-op">=</tt><tt class="py-string">"'Baz'"</tt><tt class="py-op">)</tt> </tt>
-<a name="L557"></a><tt class="py-lineno"> 557</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L558"></a><tt class="py-lineno"> 558</tt> <tt class="py-line"> <tt id="link-320" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-320', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<doc><foo>Bar</foo><foo>Baz</foo></doc>'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L559"></a><tt class="py-lineno"> 559</tt> <tt class="py-line"> <tt id="link-321" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-321', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-322', 'tostring', 'link-244');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-323', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L560"></a><tt class="py-lineno"> 560</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_multiple_elementrees"></a><div id="ETreeXSLTTestCase.test_multiple_elementrees-def"><a name="L561"></a><tt class="py-lineno"> 561</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_multiple_elementrees-toggle" onclick="return toggle('ETreeXSLTTestCase.test_multiple_elementrees');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_multiple_elementrees">test_multiple_elementrees</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_multiple_elementrees-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_multiple_elementrees-expanded"><a name="L562"></a><tt class="py-lineno"> 562</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-320', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt> <tt class="py-line"><tt class="py-string"> <doc></tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$bar" /></foo></tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="$baz" /></foo></tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt> <tt class="py-line"><tt class="py-string"> </doc></tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt> <tt class="py-line"> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-321', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-322" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-322', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">bar</tt><tt class="py-op">=</tt><tt class="py-string">"'Bar'"</tt><tt class="py-op">,</tt> <tt class="py-name">baz</tt><tt class="py-op">=</tt><tt class="py-string">"'Baz'"</tt><tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt> <tt class="py-line"> <tt id="link-323" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-323', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<doc><foo>Bar</foo><foo>Baz</foo></doc>'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt> <tt class="py-line"> <tt id="link-324" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-324', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-325', 'tostring', 'link-247');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-326', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L567"></a><tt class="py-lineno"> 567</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_multiple_elementrees"></a><div id="ETreeXSLTTestCase.test_multiple_elementrees-def"><a name="L568"></a><tt class="py-lineno"> 568</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_multiple_elementrees-toggle" onclick="return toggle('ETreeXSLTTestCase.test_multiple_elementrees');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_multiple_elementrees">test_multiple_elementrees</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_multiple_elementrees-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_multiple_elementrees-expanded"><a name="L569"></a><tt class="py-lineno"> 569</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-324', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L563"></a><tt class="py-lineno"> 563</tt> <tt class="py-line"> <tt id="link-325" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-325', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-327', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt> <tt class="py-line"> <tt id="link-328" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-328', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-326', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L564"></a><tt class="py-lineno"> 564</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L565"></a><tt class="py-lineno"> 565</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L566"></a><tt class="py-lineno"> 566</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"><A><xsl:apply-templates/></A></xsl:template></tt> </tt>
-<a name="L567"></a><tt class="py-lineno"> 567</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="b"><B><xsl:apply-templates/></B></xsl:template></tt> </tt>
-<a name="L568"></a><tt class="py-lineno"> 568</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="c"><C><xsl:apply-templates/></C></xsl:template></tt> </tt>
-<a name="L569"></a><tt class="py-lineno"> 569</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L570"></a><tt class="py-lineno"> 570</tt> <tt class="py-line"> </tt>
-<a name="L571"></a><tt class="py-lineno"> 571</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name" targets="Method lxml.tests.common_imports.HelperTestCase._rootstring()=lxml.tests.common_imports.HelperTestCase-class.html#_rootstring,Method lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring()=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_rootstring"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-327', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L572"></a><tt class="py-lineno"> 572</tt> <tt class="py-line"> <tt id="link-328" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-328', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L573"></a><tt class="py-lineno"> 573</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-329', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-330" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-330', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L574"></a><tt class="py-lineno"> 574</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-331', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L575"></a><tt class="py-lineno"> 575</tt> <tt class="py-line"> <tt id="link-332" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-332', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L576"></a><tt class="py-lineno"> 576</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-333', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L577"></a><tt class="py-lineno"> 577</tt> <tt class="py-line"> <tt id="link-334" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-334', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><B>B</B><C>C</C></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L578"></a><tt class="py-lineno"> 578</tt> <tt class="py-line"> </tt>
-<a name="L579"></a><tt class="py-lineno"> 579</tt> <tt class="py-line"> <tt class="py-name">b_tree</tt> <tt class="py-op">=</tt> <tt id="link-335" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-335', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-329', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"><A><xsl:apply-templates/></A></xsl:template></tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="b"><B><xsl:apply-templates/></B></xsl:template></tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="c"><C><xsl:apply-templates/></C></xsl:template></tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt> <tt class="py-line"> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name" targets="Method lxml.tests.common_imports.HelperTestCase._rootstring()=lxml.tests.common_imports.HelperTestCase-class.html#_rootstring,Method lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring()=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_rootstring"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-330', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt> <tt class="py-line"> <tt id="link-331" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-331', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-332', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-333" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-333', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-334', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt> <tt class="py-line"> <tt id="link-335" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-335', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-336', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt> <tt class="py-line"> <tt id="link-337" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-337', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><B>B</B><C>C</C></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt> <tt class="py-line"> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt> <tt class="py-line"> <tt class="py-name">b_tree</tt> <tt class="py-op">=</tt> <tt id="link-338" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-338', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="lxml.etree.ElementTree
xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-336', 'ElementTree', 'link-33');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-337', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L580"></a><tt class="py-lineno"> 580</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-338', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">b_tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L581"></a><tt class="py-lineno"> 581</tt> <tt class="py-line"> <tt id="link-339" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-339', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<b>B</b>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L582"></a><tt class="py-lineno"> 582</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">b_tree</tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-340', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-341" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-341', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L583"></a><tt class="py-lineno"> 583</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-342', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L584"></a><tt class="py-lineno"> 584</tt> <tt class="py-line"> <tt id="link-343" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-343', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L585"></a><tt class="py-lineno"> 585</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-344" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-344', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L586"></a><tt class="py-lineno"> 586</tt> <tt class="py-line"> <tt id="link-345" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-345', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<B>B</B>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L587"></a><tt class="py-lineno"> 587</tt> <tt class="py-line"> </tt>
-<a name="L588"></a><tt class="py-lineno"> 588</tt> <tt class="py-line"> <tt class="py-name">c_tree</tt> <tt class="py-op">=</tt> <tt id="link-346" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-339', 'ElementTree', 'link-33');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-340', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-341', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">b_tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt> <tt class="py-line"> <tt id="link-342" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-342', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<b>B</b>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">b_tree</tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-343', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-344" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-344', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-345" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-345', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt> <tt class="py-line"> <tt id="link-346" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-346', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-347" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-347', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt> <tt class="py-line"> <tt id="link-348" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-348', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<B>B</B>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt> <tt class="py-line"> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt> <tt class="py-line"> <tt class="py-name">c_tree</tt> <tt class="py-op">=</tt> <tt id="link-349" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-346', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-347" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-349', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="lxml.etree.ElementTree
xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-347', 'ElementTree', 'link-33');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-348', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L589"></a><tt class="py-lineno"> 589</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-349', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">c_tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L590"></a><tt class="py-lineno"> 590</tt> <tt class="py-line"> <tt id="link-350" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-350', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<c>C</c>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L591"></a><tt class="py-lineno"> 591</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">c_tree</tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-351', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-352" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-352', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L592"></a><tt class="py-lineno"> 592</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-353', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L593"></a><tt class="py-lineno"> 593</tt> <tt class="py-line"> <tt id="link-354" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-354', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L594"></a><tt class="py-lineno"> 594</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-355', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L595"></a><tt class="py-lineno"> 595</tt> <tt class="py-line"> <tt id="link-356" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-356', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<C>C</C>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L596"></a><tt class="py-lineno"> 596</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_document_XML"></a><div id="ETreeXSLTTestCase.test_xslt_document_XML-def"><a name="L597"></a><tt class="py-lineno"> 597</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_XML-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_XML');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_XML">test_xslt_document_XML</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_document_XML-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_XML-expanded"><a name="L598"></a><tt class="py-lineno"> 598</tt> <tt class="py-line"> <tt class="py-comment"># make sure document('') works from parsed strings</tt> </tt>
-<a name="L599"></a><tt class="py-lineno"> 599</tt> <tt class="py-line"> <tt id="link-357" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-357', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-358" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-350', 'ElementTree', 'link-33');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-351', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-352" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-352', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">c_tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt> <tt class="py-line"> <tt id="link-353" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-353', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<c>C</c>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">c_tree</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-354', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-355" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-355', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-356', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt> <tt class="py-line"> <tt id="link-357" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-357', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-358', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt> <tt class="py-line"> <tt id="link-359" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-359', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<C>C</C>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L603"></a><tt class="py-lineno"> 603</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_document_XML"></a><div id="ETreeXSLTTestCase.test_xslt_document_XML-def"><a name="L604"></a><tt class="py-lineno"> 604</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_XML-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_XML');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_XML">test_xslt_document_XML</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_document_XML-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_XML-expanded"><a name="L605"></a><tt class="py-lineno"> 605</tt> <tt class="py-line"> <tt class="py-comment"># make sure document('') works from parsed strings</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt> <tt class="py-line"> <tt id="link-360" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-360', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-361" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-358', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-359', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-360" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-361', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-362" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-362', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-363" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-360', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-361" class="py-name" targets="Function lxml.etree.XML()=lxml.etree-module.html#XML,Function lxml.objectify.XML()=lxml.objectify-module.html#XML,Method lxml.tests.test_objectify.ObjectifyTestCase.XML()=lxml.tests.test_objectify.ObjectifyTestCase-class.html#XML,Method lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML()=lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#XML"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-363', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-364" class="py-name" targets="Function lxml.etree.XML()=lxml.etree-module.html#XML,Function lxml.objectify.XML()=lxml.objectify-module.html#XML,Method lxml.tests.test_objectify.ObjectifyTestCase.XML()=lxml.tests.test_objectify.ObjectifyTestCase-class.html#XML,Method lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML()=lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#XML"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-361', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L600"></a><tt class="py-lineno"> 600</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L601"></a><tt class="py-lineno"> 601</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L602"></a><tt class="py-lineno"> 602</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L603"></a><tt class="py-lineno"> 603</tt> <tt class="py-line"><tt class="py-string"> <test>TEXT<xsl:copy-of select="document('')//test"/></test></tt> </tt>
-<a name="L604"></a><tt class="py-lineno"> 604</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L605"></a><tt class="py-lineno"> 605</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L606"></a><tt class="py-lineno"> 606</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L607"></a><tt class="py-lineno"> 607</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-362" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-362', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-363" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-364', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt> <tt class="py-line"><tt class="py-string"> <test>TEXT<xsl:copy-of select="document('')//test"/></test></tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-365" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-365', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-366" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-363', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-366', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-367" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-364', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L608"></a><tt class="py-lineno"> 608</tt> <tt class="py-line"> <tt id="link-365" class="py-name" targets="Variable lxml.etree.iterparse.root=lxml.etree.iterparse-class.html#root"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-365', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-366" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-366', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L609"></a><tt class="py-lineno"> 609</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-367" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-367', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-368" class="py-name" targets="Variable lxml.etree._Comment.tag=lxml.etree._Comment-class.html#tag,Variable lxml.etree._Element.tag=lxml.etree._Element-class.html#tag,Variable lxml.etree._Entity.tag=lxml.etree._Entity-class.html#tag,Variable lxml.etree._ProcessingInstruction.tag=lxml.etree._ProcessingInstruction-class.html#tag,Function lxml.tests.test_xpathevaluator.tag()=lxml.tests.test_xpathevaluator-module.html#tag,Variable xml.etree.ElementTree.Element.tag=xml.etree.ElementTree.Element-class.html#tag"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-367', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt> <tt class="py-line"> <tt id="link-368" class="py-name" targets="Variable lxml.etree.iterparse.root=lxml.etree.iterparse-class.html#root"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-368', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-369', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-370" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-370', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-371" class="py-name" targets="Variable lxml.etree._Comment.tag=lxml.etree._Comment-class.html#tag,Variable lxml.etree._Element.tag=lxml.etree._Element-class.html#tag,Variable lxml.etree._Entity.tag=lxml.etree._Entity-class.html#tag,Variable lxml.etree._ProcessingInstruction.tag=lxml.etree._ProcessingInstruction-class.html#tag,Function lxml.tests.test_xpathevaluator.tag()=lxml.tests.test_xpathevaluator-module.html#tag,Variable xml.etree.ElementTree.Element.tag=xml.etree.ElementTree.Element-class.html#tag"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-368', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L610"></a><tt class="py-lineno"> 610</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L611"></a><tt class="py-lineno"> 611</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-369" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-369', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-371', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-372" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-372', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-370', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L612"></a><tt class="py-lineno"> 612</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L613"></a><tt class="py-lineno"> 613</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-371" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-371', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-372" class="py-name" targets="Variable lxml.etree.QName.text=lxml.etree.QName-class.html#text,Variable lxml.etree._Element.text=lxml.etree._Element-class.html#text,Variable lxml.etree._Entity.text=lxml.etree._Entity-class.html#text,Variable lxml.objectify.ObjectifiedElement.text=lxml.objectify.ObjectifiedElement-class.html#text,Variable xml.etree.ElementTree.Element.text=xml.etree.ElementTree.Element-class.html#text"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-373', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-374" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-374', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-375" class="py-name" targets="Variable lxml.etree.QName.text=lxml.etree.QName-class.html#text,Variable lxml.etree._Element.text=lxml.etree._Element-class.html#text,Variable lxml.etree._Entity.text=lxml.etree._Entity-class.html#text,Variable lxml.objectify.ObjectifiedElement.text=lxml.objectify.ObjectifiedElement-class.html#text,Variable xml.etree.ElementTree.Element.text=xml.etree.ElementTree.Element-class.html#text"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-372', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L614"></a><tt class="py-lineno"> 614</tt> <tt class="py-line"> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
-<a name="L615"></a><tt class="py-lineno"> 615</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-373" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-373', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-375', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt> <tt class="py-line"> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-376" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-376', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-374', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L616"></a><tt class="py-lineno"> 616</tt> <tt class="py-line"> <tt class="py-string">'{http://www.w3.org/1999/XSL/Transform}copy-of'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L617"></a><tt class="py-lineno"> 617</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_document_parse"></a><div id="ETreeXSLTTestCase.test_xslt_document_parse-def"><a name="L618"></a><tt class="py-lineno"> 618</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_parse-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_parse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse">test_xslt_document_parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_document_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_parse-expanded"><a name="L619"></a><tt class="py-lineno"> 619</tt> <tt class="py-line"> <tt class="py-comment"># make sure document('') works from loaded files</tt> </tt>
-<a name="L620"></a><tt class="py-lineno"> 620</tt> <tt class="py-line"> <tt id="link-375" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-375', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-376" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-377', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt> <tt class="py-line"> <tt class="py-string">'{http://www.w3.org/1999/XSL/Transform}copy-of'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L624"></a><tt class="py-lineno"> 624</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_document_parse"></a><div id="ETreeXSLTTestCase.test_xslt_document_parse-def"><a name="L625"></a><tt class="py-lineno"> 625</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_parse-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_parse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse">test_xslt_document_parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_document_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_parse-expanded"><a name="L626"></a><tt class="py-lineno"> 626</tt> <tt class="py-line"> <tt class="py-comment"># make sure document('') works from loaded files</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt> <tt class="py-line"> <tt id="link-378" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-378', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-379" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-376', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-377', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-378" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-379', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-380', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-381" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-378', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-381', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-379', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-380" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-380', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L621"></a><tt class="py-lineno"> 621</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-381" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-381', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-382" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-382', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-383" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-383', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-384" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-384', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-385" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-382', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-385', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-383', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L622"></a><tt class="py-lineno"> 622</tt> <tt class="py-line"> <tt id="link-384" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-384', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-385', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L623"></a><tt class="py-lineno"> 623</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-386" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-386', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-386', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt> <tt class="py-line"> <tt id="link-387" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-387', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-388', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-389" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-389', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-387', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L624"></a><tt class="py-lineno"> 624</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L625"></a><tt class="py-lineno"> 625</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-388" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-388', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-390', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-391" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-391', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-389', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L626"></a><tt class="py-lineno"> 626</tt> <tt class="py-line"> <tt class="py-string">'{http://www.w3.org/1999/XSL/Transform}stylesheet'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L627"></a><tt class="py-lineno"> 627</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_document_elementtree"></a><div id="ETreeXSLTTestCase.test_xslt_document_elementtree-def"><a name="L628"></a><tt class="py-lineno"> 628</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_elementtree-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_elementtree');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_elementtree">test_xslt_document_elementtree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_document_elementtree-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_elementtree-expanded"><a name="L629"></a><tt class="py-lineno"> 629</tt> <tt class="py-line"> <tt class="py-comment"># make sure document('') works from loaded files</tt> </tt>
-<a name="L630"></a><tt class="py-lineno"> 630</tt> <tt class="py-line"> <tt id="link-390" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-390', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-391" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-392', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt> <tt class="py-line"> <tt class="py-string">'{http://www.w3.org/1999/XSL/Transform}stylesheet'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L634"></a><tt class="py-lineno"> 634</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_document_elementtree"></a><div id="ETreeXSLTTestCase.test_xslt_document_elementtree-def"><a name="L635"></a><tt class="py-lineno"> 635</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_elementtree-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_elementtree');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_elementtree">test_xslt_document_elementtree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_document_elementtree-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_elementtree-expanded"><a name="L636"></a><tt class="py-lineno"> 636</tt> <tt class="py-line"> <tt class="py-comment"># make sure document('') works from loaded files</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt> <tt class="py-line"> <tt id="link-393" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-393', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-394" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-391', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-392', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-393" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-394', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-395', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-396" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-393', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-396', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="lxml.etree.ElementTree
xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-394', 'ElementTree', 'link-33');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt id="link-395" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-395', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L631"></a><tt class="py-lineno"> 631</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-396" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-396', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-397" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-397', 'ElementTree', 'link-33');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt id="link-398" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-398', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-399" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-399', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-400" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-397', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-400', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-398', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L632"></a><tt class="py-lineno"> 632</tt> <tt class="py-line"> <tt id="link-399" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-399', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-400', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L633"></a><tt class="py-lineno"> 633</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-401" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-401', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-401', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt> <tt class="py-line"> <tt id="link-402" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-402', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-403', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-404" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-404', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-405" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-402', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L634"></a><tt class="py-lineno"> 634</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L635"></a><tt class="py-lineno"> 635</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-403" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-403', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-405', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-406" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-406', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-404', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L636"></a><tt class="py-lineno"> 636</tt> <tt class="py-line"> <tt class="py-string">'{http://www.w3.org/1999/XSL/Transform}stylesheet'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L637"></a><tt class="py-lineno"> 637</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_document_error"></a><div id="ETreeXSLTTestCase.test_xslt_document_error-def"><a name="L638"></a><tt class="py-lineno"> 638</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_error-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_error');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_error">test_xslt_document_error</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_document_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_error-expanded"><a name="L639"></a><tt class="py-lineno"> 639</tt> <tt class="py-line"> <tt id="link-405" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-405', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-406" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-407', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt> <tt class="py-line"> <tt class="py-string">'{http://www.w3.org/1999/XSL/Transform}stylesheet'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L644"></a><tt class="py-lineno"> 644</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_document_error"></a><div id="ETreeXSLTTestCase.test_xslt_document_error-def"><a name="L645"></a><tt class="py-lineno"> 645</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_error-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_error');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_error">test_xslt_document_error</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_document_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_error-expanded"><a name="L646"></a><tt class="py-lineno"> 646</tt> <tt class="py-line"> <tt id="link-408" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-408', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-409" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-406', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-407', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-408" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-409', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-410', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-411" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-408', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-411', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-409', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L640"></a><tt class="py-lineno"> 640</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L641"></a><tt class="py-lineno"> 641</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L642"></a><tt class="py-lineno"> 642</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L643"></a><tt class="py-lineno"> 643</tt> <tt class="py-line"><tt class="py-string"> <test>TEXT<xsl:copy-of select="document('uri:__junkfood__is__evil__')//test"/></test></tt> </tt>
-<a name="L644"></a><tt class="py-lineno"> 644</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L645"></a><tt class="py-lineno"> 645</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L646"></a><tt class="py-lineno"> 646</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L647"></a><tt class="py-lineno"> 647</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-410" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-410', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-411" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-411', 'XSLTApplyError', 'link-169');">XSLTApplyError</a></tt><tt class="py-op">,</tt> <tt id="link-412" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-412', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-413" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-412', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt> <tt class="py-line"><tt class="py-string"> <test>TEXT<xsl:copy-of select="document('uri:__junkfood__is__evil__')//test"/></test></tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt> <tt class="py-line"> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt> <tt class="py-line"> <tt class="py-name">errors</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt> <tt class="py-line"> <tt id="link-413" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-413', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-414" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-413', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-414', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-414', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L648"></a><tt class="py-lineno"> 648</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_document_XML_resolver"></a><div id="ETreeXSLTTestCase.test_xslt_document_XML_resolver-def"><a name="L649"></a><tt class="py-lineno"> 649</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_XML_resolver-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_XML_resolver');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_XML_resolver">test_xslt_document_XML_resolver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_document_XML_resolver-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_XML_resolver-expanded"><a name="L650"></a><tt class="py-lineno"> 650</tt> <tt class="py-line"> <tt class="py-comment"># make sure document('') works when custom resolvers are in use</tt> </tt>
-<a name="L651"></a><tt class="py-lineno"> 651</tt> <tt class="py-line"> <tt class="py-name">assertEqual</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt> </tt>
-<a name="L652"></a><tt class="py-lineno"> 652</tt> <tt class="py-line"> <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'count'</tt> <tt class="py-op">:</tt> <tt class="py-number">0</tt><tt class="py-op">}</tt> </tt>
-<a name="L653"></a><tt class="py-lineno"> 653</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">TestResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">Resolver</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L654"></a><tt class="py-lineno"> 654</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">resolve</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L655"></a><tt class="py-lineno"> 655</tt> <tt class="py-line"> <tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'file://ANYTHING'</tt><tt class="py-op">)</tt> </tt>
-<a name="L656"></a><tt class="py-lineno"> 656</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L657"></a><tt class="py-lineno"> 657</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-415" class="py-name" targets="Method lxml.etree.Resolver.resolve_string()=lxml.etree.Resolver-class.html#resolve_string"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-415', 'resolve_string', 'link-415');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'<CALLED/>'</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L658"></a><tt class="py-lineno"> 658</tt> <tt class="py-line"> </tt>
-<a name="L659"></a><tt class="py-lineno"> 659</tt> <tt class="py-line"> <tt id="link-416" class="py-name" targets="Variable lxml.etree._ElementTree.parser=lxml.etree._ElementTree-class.html#parser,Variable lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser=lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#parser"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-416', 'parser', 'link-416');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-417" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-415', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-416" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-417', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-418" class="py-name" targets="Class lxml.etree.XMLParser=lxml.etree.XMLParser-class.html,Method lxml.tests.test_elementtree._ETreeTestCaseBase.XMLParser()=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#XMLParser,Class xml.etree.ElementTree.XMLParser=xml.etree.ElementTree.XMLParser-class.html"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-416', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-417', 'XSLTApplyError', 'link-174');">XSLTApplyError</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">exc</tt><tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt> <tt class="py-line"> <tt class="py-name">errors</tt> <tt class="py-op">=</tt> <tt class="py-name">exc</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="lxml.etree.XInclude.error_log
+lxml.etree.XSLT.error_log
+lxml.etree._Validator.error_log
+lxml.etree._XPathEvaluatorBase.error_log
+lxml.etree.iterparse.error_log" class="py-name" href="#" onclick="return doclink('link-418', 'error_log', 'link-147');">error_log</a></tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-419', 'assertFalse', 'link-146');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">"XSLT processing should have failed but didn't"</tt><tt class="py-op">)</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt> <tt class="py-line"> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">errors</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">error</tt> <tt class="py-keyword">in</tt> <tt class="py-name">errors</tt><tt class="py-op">:</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">':ERROR:XSLT:'</tt> <tt class="py-keyword">in</tt> <tt id="link-420" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-420', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-421', 'assertFalse', 'link-146');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'No XSLT errors found in error log:\n%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">errors</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L669"></a><tt class="py-lineno"> 669</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_document_XML_resolver"></a><div id="ETreeXSLTTestCase.test_xslt_document_XML_resolver-def"><a name="L670"></a><tt class="py-lineno"> 670</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_XML_resolver-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_XML_resolver');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_XML_resolver">test_xslt_document_XML_resolver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_document_XML_resolver-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_XML_resolver-expanded"><a name="L671"></a><tt class="py-lineno"> 671</tt> <tt class="py-line"> <tt class="py-comment"># make sure document('') works when custom resolvers are in use</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt> <tt class="py-line"> <tt class="py-name">assertEqual</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt> <tt class="py-line"> <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'count'</tt> <tt class="py-op">:</tt> <tt class="py-number">0</tt><tt class="py-op">}</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">TestResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">Resolver</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">resolve</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt> <tt class="py-line"> <tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'file://ANYTHING'</tt><tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name" targets="Method lxml.etree.Resolver.resolve_string()=lxml.etree.Resolver-class.html#resolve_string"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-422', 'resolve_string', 'link-422');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'<CALLED/>'</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L679"></a><tt class="py-lineno"> 679</tt> <tt class="py-line"> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt> <tt class="py-line"> <tt id="link-423" class="py-name" targets="Variable lxml.etree._ElementTree.parser=lxml.etree._ElementTree-class.html#parser,Variable lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser=lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#parser"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-423', 'parser', 'link-423');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-424" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-424', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-425" class="py-name" targets="Class lxml.etree.XMLParser=lxml.etree.XMLParser-class.html,Method lxml.tests.test_elementtree._ETreeTestCaseBase.XMLParser()=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#XMLParser,Class xml.etree.ElementTree.XMLParser=xml.etree.ElementTree.XMLParser-class.html"><a title="lxml.etree.XMLParser
lxml.tests.test_elementtree._ETreeTestCaseBase.XMLParser
-xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-418', 'XMLParser', 'link-418');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L660"></a><tt class="py-lineno"> 660</tt> <tt class="py-line"> <tt id="link-419" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-419', 'parser', 'link-416');">parser</a></tt><tt class="py-op">.</tt><tt id="link-420" class="py-name" targets="Variable lxml.etree.iterparse.resolvers=lxml.etree.iterparse-class.html#resolvers"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-420', 'resolvers', 'link-420');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-421" class="py-name" targets="Method lxml.html.CheckboxValues.add()=lxml.html.CheckboxValues-class.html#add,Method lxml.html.Classes.add()=lxml.html.Classes-class.html#add,Method lxml.html.MultipleSelectOptions.add()=lxml.html.MultipleSelectOptions-class.html#add"><a title="lxml.html.CheckboxValues.add
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-425', 'XMLParser', 'link-425');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt> <tt class="py-line"> <tt id="link-426" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-426', 'parser', 'link-423');">parser</a></tt><tt class="py-op">.</tt><tt id="link-427" class="py-name" targets="Variable lxml.etree.iterparse.resolvers=lxml.etree.iterparse-class.html#resolvers"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-427', 'resolvers', 'link-427');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-428" class="py-name" targets="Method lxml.html.CheckboxValues.add()=lxml.html.CheckboxValues-class.html#add,Method lxml.html.Classes.add()=lxml.html.Classes-class.html#add,Method lxml.html.MultipleSelectOptions.add()=lxml.html.MultipleSelectOptions-class.html#add"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-421', 'add', 'link-421');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">TestResolver</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L661"></a><tt class="py-lineno"> 661</tt> <tt class="py-line"> </tt>
-<a name="L662"></a><tt class="py-lineno"> 662</tt> <tt class="py-line"> <tt id="link-422" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-422', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-423" class="py-name"><a title="lxml.etree
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-428', 'add', 'link-428');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">TestResolver</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt> <tt class="py-line"> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt> <tt class="py-line"> <tt id="link-429" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-429', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-430" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-423', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-424" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-424', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-425" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-430', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-431', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-432" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-425', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-426" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-432', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-433" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-426', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-427" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-427', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L663"></a><tt class="py-lineno"> 663</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L664"></a><tt class="py-lineno"> 664</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L665"></a><tt class="py-lineno"> 665</tt> <tt class="py-line"><tt class="py-string"> xmlns:l="local"></tt> </tt>
-<a name="L666"></a><tt class="py-lineno"> 666</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L667"></a><tt class="py-lineno"> 667</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
-<a name="L668"></a><tt class="py-lineno"> 668</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="document('')//l:data/l:entry"></tt> </tt>
-<a name="L669"></a><tt class="py-lineno"> 669</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy-of select="document('file://ANYTHING')"/></tt> </tt>
-<a name="L670"></a><tt class="py-lineno"> 670</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy></tt> </tt>
-<a name="L671"></a><tt class="py-lineno"> 671</tt> <tt class="py-line"><tt class="py-string"> <xsl:attribute name="value"></tt> </tt>
-<a name="L672"></a><tt class="py-lineno"> 672</tt> <tt class="py-line"><tt class="py-string"> <xsl:value-of select="."/></tt> </tt>
-<a name="L673"></a><tt class="py-lineno"> 673</tt> <tt class="py-line"><tt class="py-string"> </xsl:attribute></tt> </tt>
-<a name="L674"></a><tt class="py-lineno"> 674</tt> <tt class="py-line"><tt class="py-string"> </xsl:copy></tt> </tt>
-<a name="L675"></a><tt class="py-lineno"> 675</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
-<a name="L676"></a><tt class="py-lineno"> 676</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
-<a name="L677"></a><tt class="py-lineno"> 677</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L678"></a><tt class="py-lineno"> 678</tt> <tt class="py-line"><tt class="py-string"> <l:data></tt> </tt>
-<a name="L679"></a><tt class="py-lineno"> 679</tt> <tt class="py-line"><tt class="py-string"> <l:entry>A</l:entry></tt> </tt>
-<a name="L680"></a><tt class="py-lineno"> 680</tt> <tt class="py-line"><tt class="py-string"> <l:entry>B</l:entry></tt> </tt>
-<a name="L681"></a><tt class="py-lineno"> 681</tt> <tt class="py-line"><tt class="py-string"> </l:data></tt> </tt>
-<a name="L682"></a><tt class="py-lineno"> 682</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L683"></a><tt class="py-lineno"> 683</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-428" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-428', 'parser', 'link-416');">parser</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L684"></a><tt class="py-lineno"> 684</tt> <tt class="py-line"> </tt>
-<a name="L685"></a><tt class="py-lineno"> 685</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L686"></a><tt class="py-lineno"> 686</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-429" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-429', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-430" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-430', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-433', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-434" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-434', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt> <tt class="py-line"><tt class="py-string"> xmlns:l="local"></tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="document('')//l:data/l:entry"></tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy-of select="document('file://ANYTHING')"/></tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy></tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt> <tt class="py-line"><tt class="py-string"> <xsl:attribute name="value"></tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt> <tt class="py-line"><tt class="py-string"> <xsl:value-of select="."/></tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt> <tt class="py-line"><tt class="py-string"> </xsl:attribute></tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt> <tt class="py-line"><tt class="py-string"> </xsl:copy></tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt> <tt class="py-line"><tt class="py-string"> <l:data></tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt> <tt class="py-line"><tt class="py-string"> <l:entry>A</l:entry></tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt> <tt class="py-line"><tt class="py-string"> <l:entry>B</l:entry></tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt> <tt class="py-line"><tt class="py-string"> </l:data></tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-435" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-435', 'parser', 'link-423');">parser</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt> <tt class="py-line"> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-436" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-436', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-437" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-437', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-438" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-431', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L687"></a><tt class="py-lineno"> 687</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L688"></a><tt class="py-lineno"> 688</tt> <tt class="py-line"> </tt>
-<a name="L689"></a><tt class="py-lineno"> 689</tt> <tt class="py-line"> <tt id="link-432" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-432', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-433" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-433', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L690"></a><tt class="py-lineno"> 690</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-434" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-434', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-438', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt> <tt class="py-line"> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt> <tt class="py-line"> <tt id="link-439" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-439', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-440', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-441" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-441', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-435', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L691"></a><tt class="py-lineno"> 691</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L692"></a><tt class="py-lineno"> 692</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-436" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-436', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L693"></a><tt class="py-lineno"> 693</tt> <tt class="py-line"> </tt>
-<a name="L694"></a><tt class="py-lineno"> 694</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-437" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-437', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-438" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-442', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-443" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-443', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt> <tt class="py-line"> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-444" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-444', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-445" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-438', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L695"></a><tt class="py-lineno"> 695</tt> <tt class="py-line"> <tt class="py-string">'CALLED'</tt><tt class="py-op">)</tt> </tt>
-<a name="L696"></a><tt class="py-lineno"> 696</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-439" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-439', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-445', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt> <tt class="py-line"> <tt class="py-string">'CALLED'</tt><tt class="py-op">)</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-446" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-446', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-447" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-440', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L697"></a><tt class="py-lineno"> 697</tt> <tt class="py-line"> <tt class="py-string">'{local}entry'</tt><tt class="py-op">)</tt> </tt>
-<a name="L698"></a><tt class="py-lineno"> 698</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-441" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-441', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-447', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt> <tt class="py-line"> <tt class="py-string">'{local}entry'</tt><tt class="py-op">)</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-448" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-448', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-449" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-442', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L699"></a><tt class="py-lineno"> 699</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L700"></a><tt class="py-lineno"> 700</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-443" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-443', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-444" class="py-name" targets="Method lxml.etree._Attrib.get()=lxml.etree._Attrib-class.html#get,Method lxml.etree._Element.get()=lxml.etree._Element-class.html#get,Method lxml.etree._IDDict.get()=lxml.etree._IDDict-class.html#get,Method lxml.etree._ProcessingInstruction.get()=lxml.etree._ProcessingInstruction-class.html#get"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-449', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-450" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-450', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-451" class="py-name" targets="Method lxml.etree._Attrib.get()=lxml.etree._Attrib-class.html#get,Method lxml.etree._Element.get()=lxml.etree._Element-class.html#get,Method lxml.etree._IDDict.get()=lxml.etree._IDDict-class.html#get,Method lxml.etree._ProcessingInstruction.get()=lxml.etree._ProcessingInstruction-class.html#get"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-444', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"value"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L701"></a><tt class="py-lineno"> 701</tt> <tt class="py-line"> <tt class="py-string">'A'</tt><tt class="py-op">)</tt> </tt>
-<a name="L702"></a><tt class="py-lineno"> 702</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-445" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-445', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-451', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"value"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt> <tt class="py-line"> <tt class="py-string">'A'</tt><tt class="py-op">)</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-452" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-452', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-453" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-446', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L703"></a><tt class="py-lineno"> 703</tt> <tt class="py-line"> <tt class="py-string">'CALLED'</tt><tt class="py-op">)</tt> </tt>
-<a name="L704"></a><tt class="py-lineno"> 704</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-447" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-447', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-448" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-453', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt> <tt class="py-line"> <tt class="py-string">'CALLED'</tt><tt class="py-op">)</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-454" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-454', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-455" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-448', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L705"></a><tt class="py-lineno"> 705</tt> <tt class="py-line"> <tt class="py-string">'{local}entry'</tt><tt class="py-op">)</tt> </tt>
-<a name="L706"></a><tt class="py-lineno"> 706</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-449" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-449', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-450" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-455', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt> <tt class="py-line"> <tt class="py-string">'{local}entry'</tt><tt class="py-op">)</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-456" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-456', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-457" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-450', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L707"></a><tt class="py-lineno"> 707</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L708"></a><tt class="py-lineno"> 708</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-451" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-451', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-452" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-457', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-458" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-458', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-452', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"value"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L709"></a><tt class="py-lineno"> 709</tt> <tt class="py-line"> <tt class="py-string">'B'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L710"></a><tt class="py-lineno"> 710</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_resolver_url_building"></a><div id="ETreeXSLTTestCase.test_xslt_resolver_url_building-def"><a name="L711"></a><tt class="py-lineno"> 711</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_resolver_url_building-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_resolver_url_building');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_resolver_url_building">test_xslt_resolver_url_building</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_resolver_url_building-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_resolver_url_building-expanded"><a name="L712"></a><tt class="py-lineno"> 712</tt> <tt class="py-line"> <tt class="py-name">assertEqual</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt> </tt>
-<a name="L713"></a><tt class="py-lineno"> 713</tt> <tt class="py-line"> <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'count'</tt> <tt class="py-op">:</tt> <tt class="py-number">0</tt><tt class="py-op">}</tt> </tt>
-<a name="L714"></a><tt class="py-lineno"> 714</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L715"></a><tt class="py-lineno"> 715</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">TestResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">Resolver</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L716"></a><tt class="py-lineno"> 716</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">resolve</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L717"></a><tt class="py-lineno"> 717</tt> <tt class="py-line"> <tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-name">expected_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L718"></a><tt class="py-lineno"> 718</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L719"></a><tt class="py-lineno"> 719</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-453" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-453', 'resolve_string', 'link-415');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'<CALLED/>'</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L720"></a><tt class="py-lineno"> 720</tt> <tt class="py-line"> </tt>
-<a name="L721"></a><tt class="py-lineno"> 721</tt> <tt class="py-line"> <tt class="py-name">stylesheet_xml</tt> <tt class="py-op">=</tt> <tt id="link-454" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-454', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L722"></a><tt class="py-lineno"> 722</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L723"></a><tt class="py-lineno"> 723</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L724"></a><tt class="py-lineno"> 724</tt> <tt class="py-line"><tt class="py-string"> xmlns:l="local"></tt> </tt>
-<a name="L725"></a><tt class="py-lineno"> 725</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L726"></a><tt class="py-lineno"> 726</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy-of select="document('test.xml')"/></tt> </tt>
-<a name="L727"></a><tt class="py-lineno"> 727</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L728"></a><tt class="py-lineno"> 728</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L729"></a><tt class="py-lineno"> 729</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt> </tt>
-<a name="L730"></a><tt class="py-lineno"> 730</tt> <tt class="py-line"> </tt>
-<a name="L731"></a><tt class="py-lineno"> 731</tt> <tt class="py-line"> <tt id="link-455" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-455', 'parser', 'link-416');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-456" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-456', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-457" class="py-name"><a title="lxml.etree.XMLParser
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-459', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"value"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt> <tt class="py-line"> <tt class="py-string">'B'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L731"></a><tt class="py-lineno"> 731</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_resolver_url_building"></a><div id="ETreeXSLTTestCase.test_xslt_resolver_url_building-def"><a name="L732"></a><tt class="py-lineno"> 732</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_resolver_url_building-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_resolver_url_building');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_resolver_url_building">test_xslt_resolver_url_building</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_resolver_url_building-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_resolver_url_building-expanded"><a name="L733"></a><tt class="py-lineno"> 733</tt> <tt class="py-line"> <tt class="py-name">assertEqual</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt> <tt class="py-line"> <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'count'</tt> <tt class="py-op">:</tt> <tt class="py-number">0</tt><tt class="py-op">}</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">TestResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">Resolver</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">resolve</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt> <tt class="py-line"> <tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-name">expected_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-460" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-460', 'resolve_string', 'link-422');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'<CALLED/>'</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L741"></a><tt class="py-lineno"> 741</tt> <tt class="py-line"> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt> <tt class="py-line"> <tt class="py-name">stylesheet_xml</tt> <tt class="py-op">=</tt> <tt id="link-461" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-461', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt> <tt class="py-line"><tt class="py-string"> xmlns:l="local"></tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy-of select="document('test.xml')"/></tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt> <tt class="py-line"> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt> <tt class="py-line"> <tt id="link-462" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-462', 'parser', 'link-423');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-463" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-463', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="lxml.etree.XMLParser
lxml.tests.test_elementtree._ETreeTestCaseBase.XMLParser
-xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-457', 'XMLParser', 'link-418');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L732"></a><tt class="py-lineno"> 732</tt> <tt class="py-line"> <tt id="link-458" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-458', 'parser', 'link-416');">parser</a></tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-459', 'resolvers', 'link-420');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-460" class="py-name"><a title="lxml.html.CheckboxValues.add
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-464', 'XMLParser', 'link-425');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt> <tt class="py-line"> <tt id="link-465" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-465', 'parser', 'link-423');">parser</a></tt><tt class="py-op">.</tt><tt id="link-466" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-466', 'resolvers', 'link-427');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-460', 'add', 'link-421');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">TestResolver</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L733"></a><tt class="py-lineno"> 733</tt> <tt class="py-line"> </tt>
-<a name="L734"></a><tt class="py-lineno"> 734</tt> <tt class="py-line"> <tt class="py-comment"># test without base_url => relative path only</tt> </tt>
-<a name="L735"></a><tt class="py-lineno"> 735</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-string">'test.xml'</tt> </tt>
-<a name="L736"></a><tt class="py-lineno"> 736</tt> <tt class="py-line"> <tt id="link-461" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-461', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-462" class="py-name"><a title="lxml.etree
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-467', 'add', 'link-428');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">TestResolver</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt> <tt class="py-line"> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt> <tt class="py-line"> <tt class="py-comment"># test without base_url => relative path only</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-string">'test.xml'</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt> <tt class="py-line"> <tt id="link-468" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-468', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-469" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-462', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-463', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-464" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-469', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-470', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-471" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-464', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-471', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-465', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">stylesheet_xml</tt><tt class="py-op">,</tt> <tt id="link-466" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-466', 'parser', 'link-416');">parser</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L737"></a><tt class="py-lineno"> 737</tt> <tt class="py-line"> </tt>
-<a name="L738"></a><tt class="py-lineno"> 738</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L739"></a><tt class="py-lineno"> 739</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-467" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-467', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-468" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-472', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">stylesheet_xml</tt><tt class="py-op">,</tt> <tt id="link-473" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-473', 'parser', 'link-423');">parser</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt> <tt class="py-line"> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-474" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-474', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-475" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-468', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-475', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-476" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-469', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L740"></a><tt class="py-lineno"> 740</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L741"></a><tt class="py-lineno"> 741</tt> <tt class="py-line"> </tt>
-<a name="L742"></a><tt class="py-lineno"> 742</tt> <tt class="py-line"> <tt class="py-comment"># now the same thing with a stylesheet base URL on the filesystem</tt> </tt>
-<a name="L743"></a><tt class="py-lineno"> 743</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L744"></a><tt class="py-lineno"> 744</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-string">'MY/BASE/test.xml'</tt> <tt class="py-comment"># seems to be the same on Windows</tt> </tt>
-<a name="L745"></a><tt class="py-lineno"> 745</tt> <tt class="py-line"> <tt id="link-470" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-470', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-471" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-476', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt> <tt class="py-line"> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt> <tt class="py-line"> <tt class="py-comment"># now the same thing with a stylesheet base URL on the filesystem</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-string">'MY/BASE/test.xml'</tt> <tt class="py-comment"># seems to be the same on Windows</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt> <tt class="py-line"> <tt id="link-477" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-477', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-478" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-471', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-472', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-473" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-478', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-479', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-480" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-473', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-480', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-481" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-474', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L746"></a><tt class="py-lineno"> 746</tt> <tt class="py-line"> <tt class="py-name">stylesheet_xml</tt><tt class="py-op">,</tt> <tt id="link-475" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-475', 'parser', 'link-416');">parser</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L747"></a><tt class="py-lineno"> 747</tt> <tt class="py-line"> <tt id="link-476" class="py-name" targets="Variable lxml.html.HtmlMixin.base_url=lxml.html.HtmlMixin-class.html#base_url"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-476', 'base_url', 'link-476');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-477" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-477', 'path', 'link-1');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-string">'MY'</tt><tt class="py-op">,</tt> <tt class="py-string">'BASE'</tt><tt class="py-op">,</tt> <tt class="py-string">'FILE'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L748"></a><tt class="py-lineno"> 748</tt> <tt class="py-line"> </tt>
-<a name="L749"></a><tt class="py-lineno"> 749</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L750"></a><tt class="py-lineno"> 750</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-478" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-478', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-479" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-481', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt> <tt class="py-line"> <tt class="py-name">stylesheet_xml</tt><tt class="py-op">,</tt> <tt id="link-482" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-482', 'parser', 'link-423');">parser</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt> <tt class="py-line"> <tt id="link-483" class="py-name" targets="Variable lxml.html.HtmlMixin.base_url=lxml.html.HtmlMixin-class.html#base_url"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-483', 'base_url', 'link-483');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-484" class="py-name"><a title="lxml.etree.XPath.path" class="py-name" href="#" onclick="return doclink('link-484', 'path', 'link-1');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-string">'MY'</tt><tt class="py-op">,</tt> <tt class="py-string">'BASE'</tt><tt class="py-op">,</tt> <tt class="py-string">'FILE'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt> <tt class="py-line"> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-485" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-485', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-486" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-479', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-480" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-486', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-487" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-480', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L751"></a><tt class="py-lineno"> 751</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L752"></a><tt class="py-lineno"> 752</tt> <tt class="py-line"> </tt>
-<a name="L753"></a><tt class="py-lineno"> 753</tt> <tt class="py-line"> <tt class="py-comment"># now the same thing with a stylesheet base URL</tt> </tt>
-<a name="L754"></a><tt class="py-lineno"> 754</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L755"></a><tt class="py-lineno"> 755</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-string">'http://server.com/BASE/DIR/test.xml'</tt> </tt>
-<a name="L756"></a><tt class="py-lineno"> 756</tt> <tt class="py-line"> <tt id="link-481" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-481', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-482" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-487', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt> <tt class="py-line"> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt> <tt class="py-line"> <tt class="py-comment"># now the same thing with a stylesheet base URL</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-string">'http://server.com/BASE/DIR/test.xml'</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt> <tt class="py-line"> <tt id="link-488" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-488', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-489" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-482', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-483', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-484" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-489', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-490', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-491" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-484', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-485" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-491', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-485', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L757"></a><tt class="py-lineno"> 757</tt> <tt class="py-line"> <tt class="py-name">stylesheet_xml</tt><tt class="py-op">,</tt> <tt id="link-486" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-486', 'parser', 'link-416');">parser</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L758"></a><tt class="py-lineno"> 758</tt> <tt class="py-line"> <tt id="link-487" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-487', 'base_url', 'link-476');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">'http://server.com/BASE/DIR/FILE'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L759"></a><tt class="py-lineno"> 759</tt> <tt class="py-line"> </tt>
-<a name="L760"></a><tt class="py-lineno"> 760</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L761"></a><tt class="py-lineno"> 761</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-488" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-488', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-489" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-492', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt> <tt class="py-line"> <tt class="py-name">stylesheet_xml</tt><tt class="py-op">,</tt> <tt id="link-493" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-493', 'parser', 'link-423');">parser</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt> <tt class="py-line"> <tt id="link-494" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-494', 'base_url', 'link-483');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">'http://server.com/BASE/DIR/FILE'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt> <tt class="py-line"> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-495" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-495', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-496" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-489', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-496', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-490', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L762"></a><tt class="py-lineno"> 762</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L763"></a><tt class="py-lineno"> 763</tt> <tt class="py-line"> </tt>
-<a name="L764"></a><tt class="py-lineno"> 764</tt> <tt class="py-line"> <tt class="py-comment"># now the same thing with a stylesheet base file:// URL</tt> </tt>
-<a name="L765"></a><tt class="py-lineno"> 765</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L766"></a><tt class="py-lineno"> 766</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-string">'file://BASE/DIR/test.xml'</tt> </tt>
-<a name="L767"></a><tt class="py-lineno"> 767</tt> <tt class="py-line"> <tt id="link-491" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-491', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-492" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-497', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt> <tt class="py-line"> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt> <tt class="py-line"> <tt class="py-comment"># now the same thing with a stylesheet base file:// URL</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt> <tt class="py-line"> <tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt> <tt class="py-line"> <tt class="py-name">expected_url</tt> <tt class="py-op">=</tt> <tt class="py-string">'file://BASE/DIR/test.xml'</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt> <tt class="py-line"> <tt id="link-498" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-498', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-499" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-492', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-493" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-493', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-494" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-499', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-500', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-501" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-494', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-501', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-502" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-495', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L768"></a><tt class="py-lineno"> 768</tt> <tt class="py-line"> <tt class="py-name">stylesheet_xml</tt><tt class="py-op">,</tt> <tt id="link-496" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-496', 'parser', 'link-416');">parser</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L769"></a><tt class="py-lineno"> 769</tt> <tt class="py-line"> <tt id="link-497" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-497', 'base_url', 'link-476');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">'file://BASE/DIR/FILE'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L770"></a><tt class="py-lineno"> 770</tt> <tt class="py-line"> </tt>
-<a name="L771"></a><tt class="py-lineno"> 771</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L772"></a><tt class="py-lineno"> 772</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-498" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-498', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-499" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-502', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt> <tt class="py-line"> <tt class="py-name">stylesheet_xml</tt><tt class="py-op">,</tt> <tt id="link-503" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-503', 'parser', 'link-423');">parser</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt> <tt class="py-line"> <tt id="link-504" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-504', 'base_url', 'link-483');">base_url</a></tt><tt class="py-op">=</tt><tt class="py-string">'file://BASE/DIR/FILE'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt> <tt class="py-line"> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-505" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-505', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-506" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-499', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-506', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-507" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-500', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L773"></a><tt class="py-lineno"> 773</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L774"></a><tt class="py-lineno"> 774</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_document_parse_allow"></a><div id="ETreeXSLTTestCase.test_xslt_document_parse_allow-def"><a name="L775"></a><tt class="py-lineno"> 775</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_parse_allow-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_parse_allow');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_allow">test_xslt_document_parse_allow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_document_parse_allow-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_parse_allow-expanded"><a name="L776"></a><tt class="py-lineno"> 776</tt> <tt class="py-line"> <tt class="py-name">access_control</tt> <tt class="py-op">=</tt> <tt id="link-501" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-507', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">'count'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L795"></a><tt class="py-lineno"> 795</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_document_parse_allow"></a><div id="ETreeXSLTTestCase.test_xslt_document_parse_allow-def"><a name="L796"></a><tt class="py-lineno"> 796</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_parse_allow-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_parse_allow');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_allow">test_xslt_document_parse_allow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_document_parse_allow-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_parse_allow-expanded"><a name="L797"></a><tt class="py-lineno"> 797</tt> <tt class="py-line"> <tt class="py-name">access_control</tt> <tt class="py-op">=</tt> <tt id="link-508" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-501', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-502" class="py-name" targets="Class lxml.etree.XSLTAccessControl=lxml.etree.XSLTAccessControl-class.html"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-502', 'XSLTAccessControl', 'link-502');">XSLTAccessControl</a></tt><tt class="py-op">(</tt><tt id="link-503" class="py-name" targets="Function lxml.tests.common_imports.read_file()=lxml.tests.common_imports-module.html#read_file"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-503', 'read_file', 'link-503');">read_file</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L777"></a><tt class="py-lineno"> 777</tt> <tt class="py-line"> <tt id="link-504" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-504', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-505" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-508', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-509" class="py-name" targets="Class lxml.etree.XSLTAccessControl=lxml.etree.XSLTAccessControl-class.html"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-509', 'XSLTAccessControl', 'link-509');">XSLTAccessControl</a></tt><tt class="py-op">(</tt><tt id="link-510" class="py-name" targets="Function lxml.tests.common_imports.read_file()=lxml.tests.common_imports-module.html#read_file"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-510', 'read_file', 'link-510');">read_file</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt> <tt class="py-line"> <tt id="link-511" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-511', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-512" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-505', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-506" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-506', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-507" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-512', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-513', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-514" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-507', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-514', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-508', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-509" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-509', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L778"></a><tt class="py-lineno"> 778</tt> <tt class="py-line"> <tt class="py-name">access_control</tt><tt class="py-op">=</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt> </tt>
-<a name="L779"></a><tt class="py-lineno"> 779</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-510" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-510', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-511" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-515', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-516" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-516', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt> <tt class="py-line"> <tt class="py-name">access_control</tt><tt class="py-op">=</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-517" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-517', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-518" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-511', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-512" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-518', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-512', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L780"></a><tt class="py-lineno"> 780</tt> <tt class="py-line"> <tt id="link-513" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-513', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-514', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L781"></a><tt class="py-lineno"> 781</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-515" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-515', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-516" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-519', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt> <tt class="py-line"> <tt id="link-520" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-520', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-521" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-521', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-522" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-522', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-523" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-516', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L782"></a><tt class="py-lineno"> 782</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L783"></a><tt class="py-lineno"> 783</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-517" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-517', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-523', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-524" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-524', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-518', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L784"></a><tt class="py-lineno"> 784</tt> <tt class="py-line"> <tt class="py-string">'{http://www.w3.org/1999/XSL/Transform}stylesheet'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L785"></a><tt class="py-lineno"> 785</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_document_parse_deny"></a><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny-def"><a name="L786"></a><tt class="py-lineno"> 786</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_parse_deny-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_parse_deny');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_deny">test_xslt_document_parse_deny</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny-expanded"><a name="L787"></a><tt class="py-lineno"> 787</tt> <tt class="py-line"> <tt class="py-name">access_control</tt> <tt class="py-op">=</tt> <tt id="link-519" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-525', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt> <tt class="py-line"> <tt class="py-string">'{http://www.w3.org/1999/XSL/Transform}stylesheet'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L806"></a><tt class="py-lineno"> 806</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_document_parse_deny"></a><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny-def"><a name="L807"></a><tt class="py-lineno"> 807</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_parse_deny-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_parse_deny');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_deny">test_xslt_document_parse_deny</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny-expanded"><a name="L808"></a><tt class="py-lineno"> 808</tt> <tt class="py-line"> <tt class="py-name">access_control</tt> <tt class="py-op">=</tt> <tt id="link-526" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-519', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-520" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-520', 'XSLTAccessControl', 'link-502');">XSLTAccessControl</a></tt><tt class="py-op">(</tt><tt id="link-521" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-521', 'read_file', 'link-503');">read_file</a></tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L788"></a><tt class="py-lineno"> 788</tt> <tt class="py-line"> <tt id="link-522" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-522', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-523" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-526', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-527', 'XSLTAccessControl', 'link-509');">XSLTAccessControl</a></tt><tt class="py-op">(</tt><tt id="link-528" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-528', 'read_file', 'link-510');">read_file</a></tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt> <tt class="py-line"> <tt id="link-529" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-529', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-530" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-523', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-524" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-524', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-525" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-530', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-531', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-532" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-525', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-532', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-526', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-527" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-527', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L789"></a><tt class="py-lineno"> 789</tt> <tt class="py-line"> <tt class="py-name">access_control</tt><tt class="py-op">=</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt> </tt>
-<a name="L790"></a><tt class="py-lineno"> 790</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-528" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-533', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-534" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-534', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt> <tt class="py-line"> <tt class="py-name">access_control</tt><tt class="py-op">=</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-535" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-528', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-529', 'XSLTApplyError', 'link-169');">XSLTApplyError</a></tt><tt class="py-op">,</tt> <tt id="link-530" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-530', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-531" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-535', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-536" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-536', 'XSLTApplyError', 'link-174');">XSLTApplyError</a></tt><tt class="py-op">,</tt> <tt id="link-537" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-537', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-538" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-531', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-538', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-532', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L791"></a><tt class="py-lineno"> 791</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_document_parse_deny_all"></a><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny_all-def"><a name="L792"></a><tt class="py-lineno"> 792</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_parse_deny_all-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_parse_deny_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_deny_all">test_xslt_document_parse_deny_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny_all-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny_all-expanded"><a name="L793"></a><tt class="py-lineno"> 793</tt> <tt class="py-line"> <tt class="py-name">access_control</tt> <tt class="py-op">=</tt> <tt id="link-533" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-539', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L812"></a><tt class="py-lineno"> 812</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_document_parse_deny_all"></a><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny_all-def"><a name="L813"></a><tt class="py-lineno"> 813</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_document_parse_deny_all-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_document_parse_deny_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_document_parse_deny_all">test_xslt_document_parse_deny_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny_all-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_document_parse_deny_all-expanded"><a name="L814"></a><tt class="py-lineno"> 814</tt> <tt class="py-line"> <tt class="py-name">access_control</tt> <tt class="py-op">=</tt> <tt id="link-540" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-533', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-534', 'XSLTAccessControl', 'link-502');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-535" class="py-name" targets="Variable lxml.etree.XSLTAccessControl.DENY_ALL=lxml.etree.XSLTAccessControl-class.html#DENY_ALL"><a title="lxml.etree.XSLTAccessControl.DENY_ALL" class="py-name" href="#" onclick="return doclink('link-535', 'DENY_ALL', 'link-535');">DENY_ALL</a></tt> </tt>
-<a name="L794"></a><tt class="py-lineno"> 794</tt> <tt class="py-line"> <tt id="link-536" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-536', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-537" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-540', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-541" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-541', 'XSLTAccessControl', 'link-509');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-542" class="py-name" targets="Variable lxml.etree.XSLTAccessControl.DENY_ALL=lxml.etree.XSLTAccessControl-class.html#DENY_ALL"><a title="lxml.etree.XSLTAccessControl.DENY_ALL" class="py-name" href="#" onclick="return doclink('link-542', 'DENY_ALL', 'link-542');">DENY_ALL</a></tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt> <tt class="py-line"> <tt id="link-543" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-543', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-544" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-537', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-538', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-539" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-544', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-545', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-546" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-539', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-540" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-546', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-540', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-541" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-541', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L795"></a><tt class="py-lineno"> 795</tt> <tt class="py-line"> <tt class="py-name">access_control</tt><tt class="py-op">=</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt> </tt>
-<a name="L796"></a><tt class="py-lineno"> 796</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-542" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-547', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt id="link-548" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-548', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test-document.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt> <tt class="py-line"> <tt class="py-name">access_control</tt><tt class="py-op">=</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-549" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-542', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-543" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-543', 'XSLTApplyError', 'link-169');">XSLTApplyError</a></tt><tt class="py-op">,</tt> <tt id="link-544" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-544', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-545" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-549', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="lxml.etree.XSLTApplyError" class="py-name" href="#" onclick="return doclink('link-550', 'XSLTApplyError', 'link-174');">XSLTApplyError</a></tt><tt class="py-op">,</tt> <tt id="link-551" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-551', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-552" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-545', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-546" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-552', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-553" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-546', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L797"></a><tt class="py-lineno"> 797</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_access_control_repr"></a><div id="ETreeXSLTTestCase.test_xslt_access_control_repr-def"><a name="L798"></a><tt class="py-lineno"> 798</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_access_control_repr-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_access_control_repr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_access_control_repr">test_xslt_access_control_repr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_access_control_repr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_access_control_repr-expanded"><a name="L799"></a><tt class="py-lineno"> 799</tt> <tt class="py-line"> <tt class="py-name">access_control</tt> <tt class="py-op">=</tt> <tt id="link-547" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-553', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L818"></a><tt class="py-lineno"> 818</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_access_control_repr"></a><div id="ETreeXSLTTestCase.test_xslt_access_control_repr-def"><a name="L819"></a><tt class="py-lineno"> 819</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_access_control_repr-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_access_control_repr');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_access_control_repr">test_xslt_access_control_repr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_access_control_repr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_access_control_repr-expanded"><a name="L820"></a><tt class="py-lineno"> 820</tt> <tt class="py-line"> <tt class="py-name">access_control</tt> <tt class="py-op">=</tt> <tt id="link-554" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-547', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-548" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-548', 'XSLTAccessControl', 'link-502');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="lxml.etree.XSLTAccessControl.DENY_ALL" class="py-name" href="#" onclick="return doclink('link-549', 'DENY_ALL', 'link-535');">DENY_ALL</a></tt> </tt>
-<a name="L800"></a><tt class="py-lineno"> 800</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt id="link-550" class="py-name" targets="Variable lxml.etree._LogEntry.type=lxml.etree._LogEntry-class.html#type,Variable lxml.html.InputElement.type=lxml.html.InputElement-class.html#type"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-550', 'type', 'link-550');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L801"></a><tt class="py-lineno"> 801</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L802"></a><tt class="py-lineno"> 802</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-551" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-554', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-555" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-555', 'XSLTAccessControl', 'link-509');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-556" class="py-name"><a title="lxml.etree.XSLTAccessControl.DENY_ALL" class="py-name" href="#" onclick="return doclink('link-556', 'DENY_ALL', 'link-542');">DENY_ALL</a></tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt id="link-557" class="py-name" targets="Variable lxml.etree._LogEntry.type=lxml.etree._LogEntry-class.html#type,Variable lxml.html.InputElement.type=lxml.html.InputElement-class.html#type"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-557', 'type', 'link-557');">type</a></tt><tt class="py-op">(</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">access_control</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-558" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-551', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-552" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-552', 'XSLTAccessControl', 'link-502');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-553" class="py-name"><a title="lxml.etree.XSLTAccessControl.DENY_ALL" class="py-name" href="#" onclick="return doclink('link-553', 'DENY_ALL', 'link-535');">DENY_ALL</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L803"></a><tt class="py-lineno"> 803</tt> <tt class="py-line"> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-554" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-558', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-559" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-559', 'XSLTAccessControl', 'link-509');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-560" class="py-name"><a title="lxml.etree.XSLTAccessControl.DENY_ALL" class="py-name" href="#" onclick="return doclink('link-560', 'DENY_ALL', 'link-542');">DENY_ALL</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt> <tt class="py-line"> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-561" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-554', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-555" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-555', 'XSLTAccessControl', 'link-502');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-556" class="py-name" targets="Variable lxml.etree.XSLTAccessControl.DENY_WRITE=lxml.etree.XSLTAccessControl-class.html#DENY_WRITE"><a title="lxml.etree.XSLTAccessControl.DENY_WRITE" class="py-name" href="#" onclick="return doclink('link-556', 'DENY_WRITE', 'link-556');">DENY_WRITE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L804"></a><tt class="py-lineno"> 804</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-557" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-561', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-562', 'XSLTAccessControl', 'link-509');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-563" class="py-name" targets="Variable lxml.etree.XSLTAccessControl.DENY_WRITE=lxml.etree.XSLTAccessControl-class.html#DENY_WRITE"><a title="lxml.etree.XSLTAccessControl.DENY_WRITE" class="py-name" href="#" onclick="return doclink('link-563', 'DENY_WRITE', 'link-563');">DENY_WRITE</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertNotEqual</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-564" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-557', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-558" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-558', 'XSLTAccessControl', 'link-502');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-559" class="py-name"><a title="lxml.etree.XSLTAccessControl.DENY_ALL" class="py-name" href="#" onclick="return doclink('link-559', 'DENY_ALL', 'link-535');">DENY_ALL</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L805"></a><tt class="py-lineno"> 805</tt> <tt class="py-line"> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-560" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-564', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-565', 'XSLTAccessControl', 'link-509');">XSLTAccessControl</a></tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="lxml.etree.XSLTAccessControl.DENY_ALL" class="py-name" href="#" onclick="return doclink('link-566', 'DENY_ALL', 'link-542');">DENY_ALL</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt> <tt class="py-line"> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt id="link-567" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-560', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-561', 'XSLTAccessControl', 'link-502');">XSLTAccessControl</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L806"></a><tt class="py-lineno"> 806</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_move_result"></a><div id="ETreeXSLTTestCase.test_xslt_move_result-def"><a name="L807"></a><tt class="py-lineno"> 807</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_move_result-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_move_result');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_move_result">test_xslt_move_result</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_move_result-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_move_result-expanded"><a name="L808"></a><tt class="py-lineno"> 808</tt> <tt class="py-line"> <tt id="link-562" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-562', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-563" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-567', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="lxml.etree.XSLTAccessControl" class="py-name" href="#" onclick="return doclink('link-568', 'XSLTAccessControl', 'link-509');">XSLTAccessControl</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L827"></a><tt class="py-lineno"> 827</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_move_result"></a><div id="ETreeXSLTTestCase.test_xslt_move_result-def"><a name="L828"></a><tt class="py-lineno"> 828</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_move_result-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_move_result');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_move_result">test_xslt_move_result</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_move_result-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_move_result-expanded"><a name="L829"></a><tt class="py-lineno"> 829</tt> <tt class="py-line"> <tt id="link-569" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-569', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-570" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-563', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-564" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-570', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-571" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-564', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-565" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-565', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L809"></a><tt class="py-lineno"> 809</tt> <tt class="py-line"><tt class="py-string"> <transform></tt> </tt>
-<a name="L810"></a><tt class="py-lineno"> 810</tt> <tt class="py-line"><tt class="py-string"> <widget displayType="fieldset"/></tt> </tt>
-<a name="L811"></a><tt class="py-lineno"> 811</tt> <tt class="py-line"><tt class="py-string"> </transform>'''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L812"></a><tt class="py-lineno"> 812</tt> <tt class="py-line"> </tt>
-<a name="L813"></a><tt class="py-lineno"> 813</tt> <tt class="py-line"> <tt id="link-566" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-566', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-567" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-571', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-572" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-572', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt> <tt class="py-line"><tt class="py-string"> <transform></tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt> <tt class="py-line"><tt class="py-string"> <widget displayType="fieldset"/></tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt> <tt class="py-line"><tt class="py-string"> </transform>'''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt> <tt class="py-line"> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt> <tt class="py-line"> <tt id="link-573" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-573', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-574" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-567', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-568', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-569" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-574', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-575" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-575', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-576" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-569', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-570" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-576', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-577" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-570', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-571" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-571', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L814"></a><tt class="py-lineno"> 814</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L815"></a><tt class="py-lineno"> 815</tt> <tt class="py-line"><tt class="py-string"> <xsl:output method="html" indent="no"/></tt> </tt>
-<a name="L816"></a><tt class="py-lineno"> 816</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L817"></a><tt class="py-lineno"> 817</tt> <tt class="py-line"><tt class="py-string"> <html></tt> </tt>
-<a name="L818"></a><tt class="py-lineno"> 818</tt> <tt class="py-line"><tt class="py-string"> <xsl:apply-templates/></tt> </tt>
-<a name="L819"></a><tt class="py-lineno"> 819</tt> <tt class="py-line"><tt class="py-string"> </html></tt> </tt>
-<a name="L820"></a><tt class="py-lineno"> 820</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L821"></a><tt class="py-lineno"> 821</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L822"></a><tt class="py-lineno"> 822</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="widget"></tt> </tt>
-<a name="L823"></a><tt class="py-lineno"> 823</tt> <tt class="py-line"><tt class="py-string"> <xsl:element name="{@displayType}"/></tt> </tt>
-<a name="L824"></a><tt class="py-lineno"> 824</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L825"></a><tt class="py-lineno"> 825</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L826"></a><tt class="py-lineno"> 826</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet>'''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L827"></a><tt class="py-lineno"> 827</tt> <tt class="py-line"> </tt>
-<a name="L828"></a><tt class="py-lineno"> 828</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-572" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-572', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-573" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-573', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L829"></a><tt class="py-lineno"> 829</tt> <tt class="py-line"> <tt id="link-574" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-574', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-575" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-575', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L830"></a><tt class="py-lineno"> 830</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-576" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-576', 'root', 'link-365');">root</a></tt> <tt class="py-comment"># segfaulted before</tt> </tt>
-</div><a name="L831"></a><tt class="py-lineno"> 831</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi"></a><div id="ETreeXSLTTestCase.test_xslt_pi-def"><a name="L832"></a><tt class="py-lineno"> 832</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi">test_xslt_pi</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi-expanded"><a name="L833"></a><tt class="py-lineno"> 833</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-577" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-577', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-578" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-578', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt> <tt class="py-line"><tt class="py-string"> <xsl:output method="html" indent="no"/></tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt> <tt class="py-line"><tt class="py-string"> <html></tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt> <tt class="py-line"><tt class="py-string"> <xsl:apply-templates/></tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt> <tt class="py-line"><tt class="py-string"> </html></tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="widget"></tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt> <tt class="py-line"><tt class="py-string"> <xsl:element name="{@displayType}"/></tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet>'''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt> <tt class="py-line"> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-579" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-579', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-580" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-580', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt> <tt class="py-line"> <tt id="link-581" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-581', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-582" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-582', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt id="link-583" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-583', 'root', 'link-368');">root</a></tt> <tt class="py-comment"># segfaulted before</tt> </tt>
+</div><a name="L852"></a><tt class="py-lineno"> 852</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi"></a><div id="ETreeXSLTTestCase.test_xslt_pi-def"><a name="L853"></a><tt class="py-lineno"> 853</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi">test_xslt_pi</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi-expanded"><a name="L854"></a><tt class="py-lineno"> 854</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-584" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-577', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L834"></a><tt class="py-lineno"> 834</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L835"></a><tt class="py-lineno"> 835</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="%s"?></tt> </tt>
-<a name="L836"></a><tt class="py-lineno"> 836</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L837"></a><tt class="py-lineno"> 837</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L838"></a><tt class="py-lineno"> 838</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L839"></a><tt class="py-lineno"> 839</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt> <tt class="py-op">%</tt> <tt id="link-578" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-578', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test1.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L840"></a><tt class="py-lineno"> 840</tt> <tt class="py-line"> </tt>
-<a name="L841"></a><tt class="py-lineno"> 841</tt> <tt class="py-line"> <tt class="py-name">style_root</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-579" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-579', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-580" class="py-name" targets="Method lxml.etree._Element.getprevious()=lxml.etree._Element-class.html#getprevious"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-580', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-581" class="py-name" targets="Method lxml.etree._XSLTProcessingInstruction.parseXSL()=lxml.etree._XSLTProcessingInstruction-class.html#parseXSL"><a title="lxml.etree._XSLTProcessingInstruction.parseXSL" class="py-name" href="#" onclick="return doclink('link-581', 'parseXSL', 'link-581');">parseXSL</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-582" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-582', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L842"></a><tt class="py-lineno"> 842</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"{http://www.w3.org/1999/XSL/Transform}stylesheet"</tt><tt class="py-op">,</tt> </tt>
-<a name="L843"></a><tt class="py-lineno"> 843</tt> <tt class="py-line"> <tt class="py-name">style_root</tt><tt class="py-op">.</tt><tt id="link-583" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-584', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="%s"?></tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt> <tt class="py-op">%</tt> <tt id="link-585" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-585', 'fileInTestDir', 'link-17');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">"test1.xslt"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt> <tt class="py-line"> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt> <tt class="py-line"> <tt class="py-name">style_root</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-586" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-586', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-587" class="py-name" targets="Method lxml.etree._Element.getprevious()=lxml.etree._Element-class.html#getprevious"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-587', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-588" class="py-name" targets="Method lxml.etree._XSLTProcessingInstruction.parseXSL()=lxml.etree._XSLTProcessingInstruction-class.html#parseXSL"><a title="lxml.etree._XSLTProcessingInstruction.parseXSL" class="py-name" href="#" onclick="return doclink('link-588', 'parseXSL', 'link-588');">parseXSL</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-589" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-589', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"{http://www.w3.org/1999/XSL/Transform}stylesheet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt> <tt class="py-line"> <tt class="py-name">style_root</tt><tt class="py-op">.</tt><tt id="link-590" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-583', 'tag', 'link-368');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L844"></a><tt class="py-lineno"> 844</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid"></a><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid-def"><a name="L845"></a><tt class="py-lineno"> 845</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_embedded_xmlid">test_xslt_pi_embedded_xmlid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid-expanded"><a name="L846"></a><tt class="py-lineno"> 846</tt> <tt class="py-line"> <tt class="py-comment"># test xml:id dictionary lookup mechanism</tt> </tt>
-<a name="L847"></a><tt class="py-lineno"> 847</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-584" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-590', 'tag', 'link-371');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L865"></a><tt class="py-lineno"> 865</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid"></a><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid-def"><a name="L866"></a><tt class="py-lineno"> 866</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_embedded_xmlid">test_xslt_pi_embedded_xmlid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_xmlid-expanded"><a name="L867"></a><tt class="py-lineno"> 867</tt> <tt class="py-line"> <tt class="py-comment"># test xml:id dictionary lookup mechanism</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-591" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-584', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L848"></a><tt class="py-lineno"> 848</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L849"></a><tt class="py-lineno"> 849</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="#style"?></tt> </tt>
-<a name="L850"></a><tt class="py-lineno"> 850</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L851"></a><tt class="py-lineno"> 851</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L852"></a><tt class="py-lineno"> 852</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L853"></a><tt class="py-lineno"> 853</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet version="1.0" xml:id="style"</tt> </tt>
-<a name="L854"></a><tt class="py-lineno"> 854</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L855"></a><tt class="py-lineno"> 855</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L856"></a><tt class="py-lineno"> 856</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L857"></a><tt class="py-lineno"> 857</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L858"></a><tt class="py-lineno"> 858</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L859"></a><tt class="py-lineno"> 859</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet></tt> </tt>
-<a name="L860"></a><tt class="py-lineno"> 860</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L861"></a><tt class="py-lineno"> 861</tt> <tt class="py-line"> </tt>
-<a name="L862"></a><tt class="py-lineno"> 862</tt> <tt class="py-line"> <tt class="py-name">style_root</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-585', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-586" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-586', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-587" class="py-name"><a title="lxml.etree._XSLTProcessingInstruction.parseXSL" class="py-name" href="#" onclick="return doclink('link-587', 'parseXSL', 'link-581');">parseXSL</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-588" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-588', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L863"></a><tt class="py-lineno"> 863</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"{http://www.w3.org/1999/XSL/Transform}stylesheet"</tt><tt class="py-op">,</tt> </tt>
-<a name="L864"></a><tt class="py-lineno"> 864</tt> <tt class="py-line"> <tt class="py-name">style_root</tt><tt class="py-op">.</tt><tt id="link-589" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-591', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="#style"?></tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet version="1.0" xml:id="style"</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet></tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt> <tt class="py-line"> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt> <tt class="py-line"> <tt class="py-name">style_root</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-592" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-592', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-593" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-593', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-594" class="py-name"><a title="lxml.etree._XSLTProcessingInstruction.parseXSL" class="py-name" href="#" onclick="return doclink('link-594', 'parseXSL', 'link-588');">parseXSL</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-595" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-595', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"{http://www.w3.org/1999/XSL/Transform}stylesheet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt> <tt class="py-line"> <tt class="py-name">style_root</tt><tt class="py-op">.</tt><tt id="link-596" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-589', 'tag', 'link-368');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L865"></a><tt class="py-lineno"> 865</tt> <tt class="py-line"> </tt>
-<a name="L866"></a><tt class="py-lineno"> 866</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-590" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-596', 'tag', 'link-371');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt> <tt class="py-line"> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-597" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-590', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-591" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-591', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">style_root</tt><tt class="py-op">)</tt> </tt>
-<a name="L867"></a><tt class="py-lineno"> 867</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L868"></a><tt class="py-lineno"> 868</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L869"></a><tt class="py-lineno"> 869</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L870"></a><tt class="py-lineno"> 870</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
-<a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L872"></a><tt class="py-lineno"> 872</tt> <tt class="py-line"> <tt id="link-592" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-592', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L873"></a><tt class="py-lineno"> 873</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi_embedded_id"></a><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_id-def"><a name="L874"></a><tt class="py-lineno"> 874</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_embedded_id-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_embedded_id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_embedded_id">test_xslt_pi_embedded_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_id-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_id-expanded"><a name="L875"></a><tt class="py-lineno"> 875</tt> <tt class="py-line"> <tt class="py-comment"># test XPath lookup mechanism</tt> </tt>
-<a name="L876"></a><tt class="py-lineno"> 876</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-593" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-597', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-598" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-598', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">style_root</tt><tt class="py-op">)</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt> <tt class="py-line"> <tt id="link-599" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-599', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L894"></a><tt class="py-lineno"> 894</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi_embedded_id"></a><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_id-def"><a name="L895"></a><tt class="py-lineno"> 895</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_embedded_id-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_embedded_id');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_embedded_id">test_xslt_pi_embedded_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_id-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_embedded_id-expanded"><a name="L896"></a><tt class="py-lineno"> 896</tt> <tt class="py-line"> <tt class="py-comment"># test XPath lookup mechanism</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-600" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-593', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L877"></a><tt class="py-lineno"> 877</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L878"></a><tt class="py-lineno"> 878</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="#style"?></tt> </tt>
-<a name="L879"></a><tt class="py-lineno"> 879</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L880"></a><tt class="py-lineno"> 880</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L881"></a><tt class="py-lineno"> 881</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L882"></a><tt class="py-lineno"> 882</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L883"></a><tt class="py-lineno"> 883</tt> <tt class="py-line"> </tt>
-<a name="L884"></a><tt class="py-lineno"> 884</tt> <tt class="py-line"> <tt id="link-594" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-594', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-595" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-600', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="#style"?></tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt> <tt class="py-line"> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt> <tt class="py-line"> <tt id="link-601" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-601', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-602" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-595', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L885"></a><tt class="py-lineno"> 885</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0" xml:id="style"</tt> </tt>
-<a name="L886"></a><tt class="py-lineno"> 886</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L887"></a><tt class="py-lineno"> 887</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L888"></a><tt class="py-lineno"> 888</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L889"></a><tt class="py-lineno"> 889</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L890"></a><tt class="py-lineno"> 890</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L891"></a><tt class="py-lineno"> 891</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L892"></a><tt class="py-lineno"> 892</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L893"></a><tt class="py-lineno"> 893</tt> <tt class="py-line"> </tt>
-<a name="L894"></a><tt class="py-lineno"> 894</tt> <tt class="py-line"> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-596" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-596', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-597" class="py-name" targets="Method lxml.etree._Element.append()=lxml.etree._Element-class.html#append"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-597', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt id="link-598" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-598', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-599" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-599', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L895"></a><tt class="py-lineno"> 895</tt> <tt class="py-line"> </tt>
-<a name="L896"></a><tt class="py-lineno"> 896</tt> <tt class="py-line"> <tt class="py-name">style_root</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-600" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-600', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-601" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-601', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-602" class="py-name"><a title="lxml.etree._XSLTProcessingInstruction.parseXSL" class="py-name" href="#" onclick="return doclink('link-602', 'parseXSL', 'link-581');">parseXSL</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-603" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-603', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L897"></a><tt class="py-lineno"> 897</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"{http://www.w3.org/1999/XSL/Transform}stylesheet"</tt><tt class="py-op">,</tt> </tt>
-<a name="L898"></a><tt class="py-lineno"> 898</tt> <tt class="py-line"> <tt class="py-name">style_root</tt><tt class="py-op">.</tt><tt id="link-604" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-602', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0" xml:id="style"</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt> <tt class="py-line"> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt> <tt class="py-line"> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-603" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-603', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-604" class="py-name" targets="Method lxml.etree._Element.append()=lxml.etree._Element-class.html#append"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-604', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt id="link-605" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-605', 'style', 'link-24');">style</a></tt><tt class="py-op">.</tt><tt id="link-606" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-606', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt> <tt class="py-line"> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt> <tt class="py-line"> <tt class="py-name">style_root</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-607" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-607', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-608" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-608', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-609" class="py-name"><a title="lxml.etree._XSLTProcessingInstruction.parseXSL" class="py-name" href="#" onclick="return doclink('link-609', 'parseXSL', 'link-588');">parseXSL</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-610" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-610', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"{http://www.w3.org/1999/XSL/Transform}stylesheet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt> <tt class="py-line"> <tt class="py-name">style_root</tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-604', 'tag', 'link-368');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L899"></a><tt class="py-lineno"> 899</tt> <tt class="py-line"> </tt>
-<a name="L900"></a><tt class="py-lineno"> 900</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-605" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-611', 'tag', 'link-371');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt> <tt class="py-line"> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-612" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-605', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-606" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-606', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">style_root</tt><tt class="py-op">)</tt> </tt>
-<a name="L901"></a><tt class="py-lineno"> 901</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L902"></a><tt class="py-lineno"> 902</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L903"></a><tt class="py-lineno"> 903</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L904"></a><tt class="py-lineno"> 904</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
-<a name="L905"></a><tt class="py-lineno"> 905</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L906"></a><tt class="py-lineno"> 906</tt> <tt class="py-line"> <tt id="link-607" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-607', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L907"></a><tt class="py-lineno"> 907</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi_get"></a><div id="ETreeXSLTTestCase.test_xslt_pi_get-def"><a name="L908"></a><tt class="py-lineno"> 908</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_get-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_get');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get">test_xslt_pi_get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi_get-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_get-expanded"><a name="L909"></a><tt class="py-lineno"> 909</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-608" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-612', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-613', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">style_root</tt><tt class="py-op">)</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt> <tt class="py-line"> <tt id="link-614" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-614', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L928"></a><tt class="py-lineno"> 928</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi_get"></a><div id="ETreeXSLTTestCase.test_xslt_pi_get-def"><a name="L929"></a><tt class="py-lineno"> 929</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_get-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_get');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get">test_xslt_pi_get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi_get-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_get-expanded"><a name="L930"></a><tt class="py-lineno"> 930</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-615" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-608', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L910"></a><tt class="py-lineno"> 910</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L911"></a><tt class="py-lineno"> 911</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="TEST"?></tt> </tt>
-<a name="L912"></a><tt class="py-lineno"> 912</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L913"></a><tt class="py-lineno"> 913</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L914"></a><tt class="py-lineno"> 914</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L915"></a><tt class="py-lineno"> 915</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L916"></a><tt class="py-lineno"> 916</tt> <tt class="py-line"> </tt>
-<a name="L917"></a><tt class="py-lineno"> 917</tt> <tt class="py-line"> <tt id="link-609" class="py-name" targets="Method lxml.etree.TreeBuilder.pi()=lxml.etree.TreeBuilder-class.html#pi"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-609', 'pi', 'link-609');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-610" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-610', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-611', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L918"></a><tt class="py-lineno"> 918</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-612" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-612', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-615', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="TEST"?></tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt> <tt class="py-line"> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt> <tt class="py-line"> <tt id="link-616" class="py-name" targets="Method lxml.etree.TreeBuilder.pi()=lxml.etree.TreeBuilder-class.html#pi"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-616', 'pi', 'link-616');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-617', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-618', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-619" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-619', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-620" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-613', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L919"></a><tt class="py-lineno"> 919</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi_get_all"></a><div id="ETreeXSLTTestCase.test_xslt_pi_get_all-def"><a name="L920"></a><tt class="py-lineno"> 920</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_get_all-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_get_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_all">test_xslt_pi_get_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi_get_all-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_get_all-expanded"><a name="L921"></a><tt class="py-lineno"> 921</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-614" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-620', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L940"></a><tt class="py-lineno"> 940</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi_get_all"></a><div id="ETreeXSLTTestCase.test_xslt_pi_get_all-def"><a name="L941"></a><tt class="py-lineno"> 941</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_get_all-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_get_all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_all">test_xslt_pi_get_all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi_get_all-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_get_all-expanded"><a name="L942"></a><tt class="py-lineno"> 942</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-621" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-614', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L922"></a><tt class="py-lineno"> 922</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L923"></a><tt class="py-lineno"> 923</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="TEST"?></tt> </tt>
-<a name="L924"></a><tt class="py-lineno"> 924</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L925"></a><tt class="py-lineno"> 925</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L926"></a><tt class="py-lineno"> 926</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L927"></a><tt class="py-lineno"> 927</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L928"></a><tt class="py-lineno"> 928</tt> <tt class="py-line"> </tt>
-<a name="L929"></a><tt class="py-lineno"> 929</tt> <tt class="py-line"> <tt id="link-615" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-615', 'pi', 'link-609');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-616" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-616', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-617', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L930"></a><tt class="py-lineno"> 930</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-618" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-618', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-619" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-621', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="TEST"?></tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt> <tt class="py-line"> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt> <tt class="py-line"> <tt id="link-622" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-622', 'pi', 'link-616');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-623', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-624" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-624', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-625" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-625', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-626" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-619', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L931"></a><tt class="py-lineno"> 931</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"text/xsl"</tt><tt class="py-op">,</tt> <tt id="link-620" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-620', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-621" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-626', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"text/xsl"</tt><tt class="py-op">,</tt> <tt id="link-627" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-627', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-628" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-621', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"type"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L932"></a><tt class="py-lineno"> 932</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-622" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-622', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-628', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"type"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-629" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-629', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-630" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-623', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"motz"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L933"></a><tt class="py-lineno"> 933</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed"></a><div id="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed-def"><a name="L934"></a><tt class="py-lineno"> 934</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_get_all_reversed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_all_reversed">test_xslt_pi_get_all_reversed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed-expanded"><a name="L935"></a><tt class="py-lineno"> 935</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-624" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-630', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"motz"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L954"></a><tt class="py-lineno"> 954</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed"></a><div id="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed-def"><a name="L955"></a><tt class="py-lineno"> 955</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_get_all_reversed');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_all_reversed">test_xslt_pi_get_all_reversed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_get_all_reversed-expanded"><a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-631" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-624', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L936"></a><tt class="py-lineno"> 936</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L937"></a><tt class="py-lineno"> 937</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet href="TEST" type="text/xsl"?></tt> </tt>
-<a name="L938"></a><tt class="py-lineno"> 938</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L939"></a><tt class="py-lineno"> 939</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L940"></a><tt class="py-lineno"> 940</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L941"></a><tt class="py-lineno"> 941</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L942"></a><tt class="py-lineno"> 942</tt> <tt class="py-line"> </tt>
-<a name="L943"></a><tt class="py-lineno"> 943</tt> <tt class="py-line"> <tt id="link-625" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-625', 'pi', 'link-609');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-626" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-626', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-627" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-627', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L944"></a><tt class="py-lineno"> 944</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-628" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-628', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-629" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-631', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet href="TEST" type="text/xsl"?></tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt> <tt class="py-line"> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt> <tt class="py-line"> <tt id="link-632" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-632', 'pi', 'link-616');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-633" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-633', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-634" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-634', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-635" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-635', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-636" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-629', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L945"></a><tt class="py-lineno"> 945</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"text/xsl"</tt><tt class="py-op">,</tt> <tt id="link-630" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-630', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-631" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-636', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"text/xsl"</tt><tt class="py-op">,</tt> <tt id="link-637" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-637', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-638" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-631', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"type"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L946"></a><tt class="py-lineno"> 946</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-632" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-632', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-633" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-638', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"type"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-639" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-639', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-640" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-633', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"motz"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L947"></a><tt class="py-lineno"> 947</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi_get_unknown"></a><div id="ETreeXSLTTestCase.test_xslt_pi_get_unknown-def"><a name="L948"></a><tt class="py-lineno"> 948</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_get_unknown-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_get_unknown');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_unknown">test_xslt_pi_get_unknown</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi_get_unknown-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_get_unknown-expanded"><a name="L949"></a><tt class="py-lineno"> 949</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-634" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-640', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"motz"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L968"></a><tt class="py-lineno"> 968</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi_get_unknown"></a><div id="ETreeXSLTTestCase.test_xslt_pi_get_unknown-def"><a name="L969"></a><tt class="py-lineno"> 969</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_get_unknown-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_get_unknown');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_get_unknown">test_xslt_pi_get_unknown</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi_get_unknown-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_get_unknown-expanded"><a name="L970"></a><tt class="py-lineno"> 970</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-641" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-634', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L950"></a><tt class="py-lineno"> 950</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L951"></a><tt class="py-lineno"> 951</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="TEST"?></tt> </tt>
-<a name="L952"></a><tt class="py-lineno"> 952</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L953"></a><tt class="py-lineno"> 953</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L954"></a><tt class="py-lineno"> 954</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L955"></a><tt class="py-lineno"> 955</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"> </tt>
-<a name="L957"></a><tt class="py-lineno"> 957</tt> <tt class="py-line"> <tt id="link-635" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-635', 'pi', 'link-609');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-636" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-636', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-637" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-637', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L958"></a><tt class="py-lineno"> 958</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-638" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-638', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-641', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="TEST"?></tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt> <tt class="py-line"> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt> <tt class="py-line"> <tt id="link-642" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-642', 'pi', 'link-616');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-643', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-644" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-644', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-645" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-645', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-646" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-639', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"unknownattribute"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L959"></a><tt class="py-lineno"> 959</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi_set_replace"></a><div id="ETreeXSLTTestCase.test_xslt_pi_set_replace-def"><a name="L960"></a><tt class="py-lineno"> 960</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_set_replace-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_set_replace');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_set_replace">test_xslt_pi_set_replace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi_set_replace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_set_replace-expanded"><a name="L961"></a><tt class="py-lineno"> 961</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-640" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-646', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"unknownattribute"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L980"></a><tt class="py-lineno"> 980</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi_set_replace"></a><div id="ETreeXSLTTestCase.test_xslt_pi_set_replace-def"><a name="L981"></a><tt class="py-lineno"> 981</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_set_replace-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_set_replace');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_set_replace">test_xslt_pi_set_replace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi_set_replace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_set_replace-expanded"><a name="L982"></a><tt class="py-lineno"> 982</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-647" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-640', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L962"></a><tt class="py-lineno"> 962</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L963"></a><tt class="py-lineno"> 963</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="TEST"?></tt> </tt>
-<a name="L964"></a><tt class="py-lineno"> 964</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L965"></a><tt class="py-lineno"> 965</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L966"></a><tt class="py-lineno"> 966</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L967"></a><tt class="py-lineno"> 967</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L968"></a><tt class="py-lineno"> 968</tt> <tt class="py-line"> </tt>
-<a name="L969"></a><tt class="py-lineno"> 969</tt> <tt class="py-line"> <tt id="link-641" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-641', 'pi', 'link-609');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-642" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-642', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-643', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L970"></a><tt class="py-lineno"> 970</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-644" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-644', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-645" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-647', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl" href="TEST"?></tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt> <tt class="py-line"> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt> <tt class="py-line"> <tt id="link-648" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-648', 'pi', 'link-616');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-649" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-649', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-650" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-650', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-651" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-651', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-652" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-645', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L971"></a><tt class="py-lineno"> 971</tt> <tt class="py-line"> </tt>
-<a name="L972"></a><tt class="py-lineno"> 972</tt> <tt class="py-line"> <tt id="link-646" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-646', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-647" class="py-name" targets="Method lxml.etree._Element.set()=lxml.etree._Element-class.html#set,Method lxml.etree._XSLTProcessingInstruction.set()=lxml.etree._XSLTProcessingInstruction-class.html#set"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-647', 'set', 'link-647');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST123"</tt><tt class="py-op">)</tt> </tt>
-<a name="L973"></a><tt class="py-lineno"> 973</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST123"</tt><tt class="py-op">,</tt> <tt id="link-648" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-648', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-649" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-652', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt> <tt class="py-line"> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt> <tt class="py-line"> <tt id="link-653" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-653', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-654" class="py-name" targets="Method lxml.etree._Element.set()=lxml.etree._Element-class.html#set,Method lxml.etree._XSLTProcessingInstruction.set()=lxml.etree._XSLTProcessingInstruction-class.html#set"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-654', 'set', 'link-654');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST123"</tt><tt class="py-op">)</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST123"</tt><tt class="py-op">,</tt> <tt id="link-655" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-655', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-656" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-649', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L974"></a><tt class="py-lineno"> 974</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTTestCase.test_xslt_pi_set_new"></a><div id="ETreeXSLTTestCase.test_xslt_pi_set_new-def"><a name="L975"></a><tt class="py-lineno"> 975</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_set_new-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_set_new');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_set_new">test_xslt_pi_set_new</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTTestCase.test_xslt_pi_set_new-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_set_new-expanded"><a name="L976"></a><tt class="py-lineno"> 976</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-650" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-656', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L995"></a><tt class="py-lineno"> 995</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTTestCase.test_xslt_pi_set_new"></a><div id="ETreeXSLTTestCase.test_xslt_pi_set_new-def"><a name="L996"></a><tt class="py-lineno"> 996</tt> <a class="py-toggle" href="#" id="ETreeXSLTTestCase.test_xslt_pi_set_new-toggle" onclick="return toggle('ETreeXSLTTestCase.test_xslt_pi_set_new');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html#test_xslt_pi_set_new">test_xslt_pi_set_new</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTTestCase.test_xslt_pi_set_new-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTTestCase.test_xslt_pi_set_new-expanded"><a name="L997"></a><tt class="py-lineno"> 997</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-657" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-650', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L977"></a><tt class="py-lineno"> 977</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L978"></a><tt class="py-lineno"> 978</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl"?></tt> </tt>
-<a name="L979"></a><tt class="py-lineno"> 979</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
-<a name="L980"></a><tt class="py-lineno"> 980</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
-<a name="L981"></a><tt class="py-lineno"> 981</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
-<a name="L982"></a><tt class="py-lineno"> 982</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L983"></a><tt class="py-lineno"> 983</tt> <tt class="py-line"> </tt>
-<a name="L984"></a><tt class="py-lineno"> 984</tt> <tt class="py-line"> <tt id="link-651" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-651', 'pi', 'link-609');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-652" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-652', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-653" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-653', 'getprevious', 'link-580');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L985"></a><tt class="py-lineno"> 985</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-654" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-654', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-655" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-657', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt> <tt class="py-line"><tt class="py-string"><?xml-stylesheet type="text/xsl"?></tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt> <tt class="py-line"><tt class="py-string"><a></tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt> <tt class="py-line"><tt class="py-string"> <b>B</b></tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt> <tt class="py-line"><tt class="py-string"> <c>C</c></tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt> <tt class="py-line"><tt class="py-string"></a>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt> <tt class="py-line"> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt> <tt class="py-line"> <tt id="link-658" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-658', 'pi', 'link-616');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-659" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-659', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-660" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-660', 'getprevious', 'link-587');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-661" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-661', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-662" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-655', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L986"></a><tt class="py-lineno"> 986</tt> <tt class="py-line"> </tt>
-<a name="L987"></a><tt class="py-lineno"> 987</tt> <tt class="py-line"> <tt id="link-656" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-656', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-657" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-657', 'set', 'link-647');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST"</tt><tt class="py-op">)</tt> </tt>
-<a name="L988"></a><tt class="py-lineno"> 988</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-658" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-658', 'pi', 'link-609');">pi</a></tt><tt class="py-op">.</tt><tt id="link-659" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-662', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt> <tt class="py-line"> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt> <tt class="py-line"> <tt id="link-663" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-663', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-664" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-664', 'set', 'link-654');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TEST"</tt><tt class="py-op">,</tt> <tt id="link-665" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-665', 'pi', 'link-616');">pi</a></tt><tt class="py-op">.</tt><tt id="link-666" class="py-name"><a title="lxml.etree._Attrib.get
lxml.etree._Element.get
lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-659', 'get', 'link-444');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L989"></a><tt class="py-lineno"> 989</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase"></a><div id="ETreeEXSLTTestCase-def"><a name="L990"></a><tt class="py-lineno"> 990</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase-toggle" onclick="return toggle('ETreeEXSLTTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">HelperTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeEXSLTTestCase-expanded"><a name="L991"></a><tt class="py-lineno"> 991</tt> <tt class="py-line"> <tt class="py-docstring">"""EXSLT tests"""</tt> </tt>
-<a name="L992"></a><tt class="py-lineno"> 992</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_str"></a><div id="ETreeEXSLTTestCase.test_exslt_str-def"><a name="L993"></a><tt class="py-lineno"> 993</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_str-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_str');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_str">test_exslt_str</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_str-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_str-expanded"><a name="L994"></a><tt class="py-lineno"> 994</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-660" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-666', 'get', 'link-451');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"href"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1010"></a><tt class="py-lineno">1010</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase"></a><div id="ETreeEXSLTTestCase-def"><a name="L1011"></a><tt class="py-lineno">1011</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase-toggle" onclick="return toggle('ETreeEXSLTTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">HelperTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeEXSLTTestCase-expanded"><a name="L1012"></a><tt class="py-lineno">1012</tt> <tt class="py-line"> <tt class="py-docstring">"""EXSLT tests"""</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_str"></a><div id="ETreeEXSLTTestCase.test_exslt_str-def"><a name="L1014"></a><tt class="py-lineno">1014</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_str-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_str');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_str">test_exslt_str</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_str-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_str-expanded"><a name="L1015"></a><tt class="py-lineno">1015</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-660', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L995"></a><tt class="py-lineno"> 995</tt> <tt class="py-line"> <tt id="link-661" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-661', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-662" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-667', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt> <tt class="py-line"> <tt id="link-668" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-668', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-662', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L996"></a><tt class="py-lineno"> 996</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L997"></a><tt class="py-lineno"> 997</tt> <tt class="py-line"><tt class="py-string"> xmlns:str="http://exslt.org/strings"</tt> </tt>
-<a name="L998"></a><tt class="py-lineno"> 998</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L999"></a><tt class="py-lineno"> 999</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="str xsl"></tt> </tt>
-<a name="L1000"></a><tt class="py-lineno">1000</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="text()"></tt> </tt>
-<a name="L1001"></a><tt class="py-lineno">1001</tt> <tt class="py-line"><tt class="py-string"> <xsl:value-of select="str:align(string(.), '***', 'center')" /></tt> </tt>
-<a name="L1002"></a><tt class="py-lineno">1002</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1003"></a><tt class="py-lineno">1003</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
-<a name="L1004"></a><tt class="py-lineno">1004</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy></tt> </tt>
-<a name="L1005"></a><tt class="py-lineno">1005</tt> <tt class="py-line"><tt class="py-string"> <xsl:apply-templates/></tt> </tt>
-<a name="L1006"></a><tt class="py-lineno">1006</tt> <tt class="py-line"><tt class="py-string"> </xsl:copy></tt> </tt>
-<a name="L1007"></a><tt class="py-lineno">1007</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1008"></a><tt class="py-lineno">1008</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1009"></a><tt class="py-lineno">1009</tt> <tt class="py-line"> </tt>
-<a name="L1010"></a><tt class="py-lineno">1010</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-663" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-663', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-664" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-664', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-665" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-665', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1011"></a><tt class="py-lineno">1011</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L1012"></a><tt class="py-lineno">1012</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1013"></a><tt class="py-lineno">1013</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L1014"></a><tt class="py-lineno">1014</tt> <tt class="py-line"><tt class="py-string"><a><b>*B*</b><c>*C*</c></a></tt> </tt>
-<a name="L1015"></a><tt class="py-lineno">1015</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L1016"></a><tt class="py-lineno">1016</tt> <tt class="py-line"> <tt id="link-666" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-666', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1017"></a><tt class="py-lineno">1017</tt> <tt class="py-line"> </tt>
-<a name="L1018"></a><tt class="py-lineno">1018</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-667" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-667', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-668" class="py-name"><a title="lxml.etree.LIBXSLT_VERSION" class="py-name" href="#" onclick="return doclink('link-668', 'LIBXSLT_VERSION', 'link-37');">LIBXSLT_VERSION</a></tt> <tt class="py-op">>=</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">21</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_str_attribute_replace"></a><div id="ETreeEXSLTTestCase.test_exslt_str_attribute_replace-def"><a name="L1019"></a><tt class="py-lineno">1019</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_str_attribute_replace-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_str_attribute_replace');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_str_attribute_replace">test_exslt_str_attribute_replace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_str_attribute_replace-collapsed" style="display:none;" pad="++++" indent="++++++++++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_str_attribute_replace-expanded"><a name="L1020"></a><tt class="py-lineno">1020</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-669', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt> <tt class="py-line"><tt class="py-string"> xmlns:str="http://exslt.org/strings"</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="str xsl"></tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="text()"></tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt> <tt class="py-line"><tt class="py-string"> <xsl:value-of select="str:align(string(.), '***', 'center')" /></tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy></tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt> <tt class="py-line"><tt class="py-string"> <xsl:apply-templates/></tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt> <tt class="py-line"><tt class="py-string"> </xsl:copy></tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt> <tt class="py-line"> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-670" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-670', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-671" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-671', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-672" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-672', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt> <tt class="py-line"><tt class="py-string"><a><b>*B*</b><c>*C*</c></a></tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt> <tt class="py-line"> <tt id="link-673" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-673', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1038"></a><tt class="py-lineno">1038</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_str_attribute_replace"></a><div id="ETreeEXSLTTestCase.test_exslt_str_attribute_replace-def"><a name="L1039"></a><tt class="py-lineno">1039</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_str_attribute_replace-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_str_attribute_replace');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_str_attribute_replace">test_exslt_str_attribute_replace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_str_attribute_replace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_str_attribute_replace-expanded"><a name="L1040"></a><tt class="py-lineno">1040</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-674" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-669', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1021"></a><tt class="py-lineno">1021</tt> <tt class="py-line"> <tt id="link-670" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-670', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-671" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-674', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt> <tt class="py-line"> <tt id="link-675" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-675', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-676" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-671', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1022"></a><tt class="py-lineno">1022</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet version = "1.0"</tt> </tt>
-<a name="L1023"></a><tt class="py-lineno">1023</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl='http://www.w3.org/1999/XSL/Transform'</tt> </tt>
-<a name="L1024"></a><tt class="py-lineno">1024</tt> <tt class="py-line"><tt class="py-string"> xmlns:str="http://exslt.org/strings"</tt> </tt>
-<a name="L1025"></a><tt class="py-lineno">1025</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="str"></tt> </tt>
-<a name="L1026"></a><tt class="py-lineno">1026</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L1027"></a><tt class="py-lineno">1027</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1028"></a><tt class="py-lineno">1028</tt> <tt class="py-line"><tt class="py-string"> <h1 class="{str:replace('abc', 'b', 'x')}">test</h1></tt> </tt>
-<a name="L1029"></a><tt class="py-lineno">1029</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1030"></a><tt class="py-lineno">1030</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L1031"></a><tt class="py-lineno">1031</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1032"></a><tt class="py-lineno">1032</tt> <tt class="py-line"> </tt>
-<a name="L1033"></a><tt class="py-lineno">1033</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-672" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-672', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-673" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-673', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-674" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-674', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1034"></a><tt class="py-lineno">1034</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L1035"></a><tt class="py-lineno">1035</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1036"></a><tt class="py-lineno">1036</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L1037"></a><tt class="py-lineno">1037</tt> <tt class="py-line"><tt class="py-string"><h1 class="axc">test</h1></tt> </tt>
-<a name="L1038"></a><tt class="py-lineno">1038</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L1039"></a><tt class="py-lineno">1039</tt> <tt class="py-line"> <tt id="link-675" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-675', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1040"></a><tt class="py-lineno">1040</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_math"></a><div id="ETreeEXSLTTestCase.test_exslt_math-def"><a name="L1041"></a><tt class="py-lineno">1041</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_math-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_math');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_math">test_exslt_math</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_math-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_math-expanded"><a name="L1042"></a><tt class="py-lineno">1042</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-676" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-676', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt> <tt class="py-line"><tt class="py-string"> <xsl:stylesheet version = "1.0"</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl='http://www.w3.org/1999/XSL/Transform'</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt> <tt class="py-line"><tt class="py-string"> xmlns:str="http://exslt.org/strings"</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="str"></tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt> <tt class="py-line"><tt class="py-string"> <h1 class="{str:replace('abc', 'b', 'x')}">test</h1></tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"><tt class="py-string"> </xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt> <tt class="py-line"> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-677" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-677', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-678" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-678', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-679" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-679', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-680" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-680', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'''\</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt> <tt class="py-line"><tt class="py-string"><h1 class="axc">test</h1></tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1059"></a><tt class="py-lineno">1059</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_math"></a><div id="ETreeEXSLTTestCase.test_exslt_math-def"><a name="L1060"></a><tt class="py-lineno">1060</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_math-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_math');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_math">test_exslt_math</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_math-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_math-expanded"><a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-681" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-676', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1043"></a><tt class="py-lineno">1043</tt> <tt class="py-line"> <tt id="link-677" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-677', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-678" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-681', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"> <tt id="link-682" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-682', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-683" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-678', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1044"></a><tt class="py-lineno">1044</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1045"></a><tt class="py-lineno">1045</tt> <tt class="py-line"><tt class="py-string"> xmlns:math="http://exslt.org/math"</tt> </tt>
-<a name="L1046"></a><tt class="py-lineno">1046</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1047"></a><tt class="py-lineno">1047</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="math xsl"></tt> </tt>
-<a name="L1048"></a><tt class="py-lineno">1048</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
-<a name="L1049"></a><tt class="py-lineno">1049</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy></tt> </tt>
-<a name="L1050"></a><tt class="py-lineno">1050</tt> <tt class="py-line"><tt class="py-string"> <xsl:attribute name="pi"></tt> </tt>
-<a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"><tt class="py-string"> <xsl:value-of select="math:constant('PI', count(*)+2)"/></tt> </tt>
-<a name="L1052"></a><tt class="py-lineno">1052</tt> <tt class="py-line"><tt class="py-string"> </xsl:attribute></tt> </tt>
-<a name="L1053"></a><tt class="py-lineno">1053</tt> <tt class="py-line"><tt class="py-string"> <xsl:apply-templates/></tt> </tt>
-<a name="L1054"></a><tt class="py-lineno">1054</tt> <tt class="py-line"><tt class="py-string"> </xsl:copy></tt> </tt>
-<a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1057"></a><tt class="py-lineno">1057</tt> <tt class="py-line"> </tt>
-<a name="L1058"></a><tt class="py-lineno">1058</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-679" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-683', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt> <tt class="py-line"><tt class="py-string"> xmlns:math="http://exslt.org/math"</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="math xsl"></tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy></tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt> <tt class="py-line"><tt class="py-string"> <xsl:attribute name="pi"></tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"><tt class="py-string"> <xsl:value-of select="math:constant('PI', count(*)+2)"/></tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"><tt class="py-string"> </xsl:attribute></tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt> <tt class="py-line"><tt class="py-string"> <xsl:apply-templates/></tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"><tt class="py-string"> </xsl:copy></tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt> <tt class="py-line"> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-684" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-679', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-680" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-680', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-681" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-681', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1059"></a><tt class="py-lineno">1059</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L1060"></a><tt class="py-lineno">1060</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"><tt class="py-string"><a pi="3.14"><b pi="3">B</b><c pi="3">C</c></a></tt> </tt>
-<a name="L1063"></a><tt class="py-lineno">1063</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
-<a name="L1064"></a><tt class="py-lineno">1064</tt> <tt class="py-line"> <tt id="link-682" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-682', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_regexp_test"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_test-def"><a name="L1066"></a><tt class="py-lineno">1066</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_test-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_test');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_test">test_exslt_regexp_test</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_test-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_test-expanded"><a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"> <tt id="link-683" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-683', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-684" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-684', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-685" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-685', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-686" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-686', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt> <tt class="py-line"><tt class="py-string"><a pi="3.14"><b pi="3">B</b><c pi="3">C</c></a></tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">,</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt> <tt class="py-line"> <tt id="link-687" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-687', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_regexp_test"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_test-def"><a name="L1085"></a><tt class="py-lineno">1085</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_test-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_test');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_test">test_exslt_regexp_test</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_test-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_test-expanded"><a name="L1086"></a><tt class="py-lineno">1086</tt> <tt class="py-line"> <tt id="link-688" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-688', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-689" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-684', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-685" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-685', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-686" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-689', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-690" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-690', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-691" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-686', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-687" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-691', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-692" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-687', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-688" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-688', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1069"></a><tt class="py-lineno">1069</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
-<a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
-<a name="L1072"></a><tt class="py-lineno">1072</tt> <tt class="py-line"><tt class="py-string"> <test><xsl:copy-of select="*[regexp:test(string(.), '8.')]"/></test></tt> </tt>
-<a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1075"></a><tt class="py-lineno">1075</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1076"></a><tt class="py-lineno">1076</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-689" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-689', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-690" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-692', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-693" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-693', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"><tt class="py-string"> <test><xsl:copy-of select="*[regexp:test(string(.), '8.')]"/></test></tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-694" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-694', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-695" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-690', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-691" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-695', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-696" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-691', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-692" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-692', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>123</b><b>098</b><b>987</b></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1077"></a><tt class="py-lineno">1077</tt> <tt class="py-line"> <tt id="link-693" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-693', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-694" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-694', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-695" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-695', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-696" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-696', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-697" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-697', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>123</b><b>098</b><b>987</b></a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt> <tt class="py-line"> <tt id="link-698" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-698', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-699" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-699', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-700" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-700', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-701" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-696', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-697" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-697', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1081"></a><tt class="py-lineno">1081</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-698" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-698', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-699" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-701', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-702" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-702', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-703" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-703', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-704" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-699', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1083"></a><tt class="py-lineno">1083</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-700" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-700', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-701" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-704', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-705" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-705', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-706" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-701', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"> <tt class="py-string">'987'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1085"></a><tt class="py-lineno">1085</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_regexp_replace"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_replace-def"><a name="L1086"></a><tt class="py-lineno">1086</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_replace-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_replace');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_replace">test_exslt_regexp_replace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_replace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_replace-expanded"><a name="L1087"></a><tt class="py-lineno">1087</tt> <tt class="py-line"> <tt id="link-702" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-702', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-703" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-706', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"> <tt class="py-string">'987'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1104"></a><tt class="py-lineno">1104</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_regexp_replace"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_replace-def"><a name="L1105"></a><tt class="py-lineno">1105</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_replace-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_replace');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_replace">test_exslt_regexp_replace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_replace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_replace-expanded"><a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"> <tt id="link-707" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-707', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-708" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-703', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-704" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-704', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-705" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-708', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-709" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-709', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-710" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-705', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-706" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-710', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-711" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-706', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1088"></a><tt class="py-lineno">1088</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
-<a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
-<a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
-<a name="L1093"></a><tt class="py-lineno">1093</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy-of select="regexp:replace(string(.), 'd.', '', 'XX')"/></tt> </tt>
-<a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"><tt class="py-string"> <xsl:text>-</xsl:text></tt> </tt>
-<a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy-of select="regexp:replace(string(.), 'd.', 'gi', 'XX')"/></tt> </tt>
-<a name="L1096"></a><tt class="py-lineno">1096</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
-<a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1098"></a><tt class="py-lineno">1098</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-707" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-707', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-708" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-711', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy-of select="regexp:replace(string(.), 'd.', '', 'XX')"/></tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"><tt class="py-string"> <xsl:text>-</xsl:text></tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"><tt class="py-string"> <xsl:copy-of select="regexp:replace(string(.), 'd.', 'gi', 'XX')"/></tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-712" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-712', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-713" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-708', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-709" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-713', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-714" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-709', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-710" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-710', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a>abdCdEeDed</a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"> <tt id="link-711" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-711', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-712" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-712', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-713" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-713', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-714" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-714', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-715" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-715', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a>abdCdEeDed</a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"> <tt id="link-716" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-716', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-717" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-717', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-718" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-718', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-719" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-714', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1104"></a><tt class="py-lineno">1104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-715" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-715', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L1105"></a><tt class="py-lineno">1105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-716" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-716', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-717" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-719', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt> <tt class="py-line"> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-720" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-720', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-721" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-721', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-722" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-717', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'abXXdEeDed-abXXXXeXXd'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_regexp_match"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_match-def"><a name="L1107"></a><tt class="py-lineno">1107</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_match-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_match');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match">test_exslt_regexp_match</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match-expanded"><a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"> <tt id="link-718" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-718', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-719" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-722', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'abXXdEeDed-abXXXXeXXd'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_regexp_match"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_match-def"><a name="L1126"></a><tt class="py-lineno">1126</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_match-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_match');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match">test_exslt_regexp_match</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match-expanded"><a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"> <tt id="link-723" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-723', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-724" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-719', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-720" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-720', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-721" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-724', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-725', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-726" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-721', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-722" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-726', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-727" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-722', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1109"></a><tt class="py-lineno">1109</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
-<a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
-<a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
-<a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:copy-of select="regexp:match(string(.), 'd.')"/></test1></tt> </tt>
-<a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"><tt class="py-string"> <test2><xsl:copy-of select="regexp:match(string(.), 'd.', 'g')"/></test2></tt> </tt>
-<a name="L1116"></a><tt class="py-lineno">1116</tt> <tt class="py-line"><tt class="py-string"> <test2i><xsl:copy-of select="regexp:match(string(.), 'd.', 'gi')"/></test2i></tt> </tt>
-<a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
-<a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1119"></a><tt class="py-lineno">1119</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-723" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-723', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-724" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-727', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*"></tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:copy-of select="regexp:match(string(.), 'd.')"/></test1></tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"><tt class="py-string"> <test2><xsl:copy-of select="regexp:match(string(.), 'd.', 'g')"/></test2></tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"><tt class="py-string"> <test2i><xsl:copy-of select="regexp:match(string(.), 'd.', 'gi')"/></test2i></tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-728" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-728', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-729" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-724', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-729', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-730" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-725', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-726" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-726', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a>abdCdEeDed</a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1122"></a><tt class="py-lineno">1122</tt> <tt class="py-line"> <tt id="link-727" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-727', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-728" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-728', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-729" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-729', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-730" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-730', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-731" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-731', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a>abdCdEeDed</a>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"> <tt id="link-732" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-732', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-733" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-733', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-734" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-734', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-735" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-730', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-731" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-731', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"> </tt>
-<a name="L1126"></a><tt class="py-lineno">1126</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-732" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-732', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-733" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-733', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-734" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-735', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-736" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-736', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt> <tt class="py-line"> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-737" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-737', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-738" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-738', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-739" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-734', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-735" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-735', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-736" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-739', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-740" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-740', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-741" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-736', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dC'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1129"></a><tt class="py-lineno">1129</tt> <tt class="py-line"> </tt>
-<a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-737" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-737', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-738" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-738', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-739" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-741', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dC'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-742" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-742', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-743" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-743', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-744" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-739', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-740" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-740', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-741" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-744', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-745" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-745', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-746" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-741', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dC'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1133"></a><tt class="py-lineno">1133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-742" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-742', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-743" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-746', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dC'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-747" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-747', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-748" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-743', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-744" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-744', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-745" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-748', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-749" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-749', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-750" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-745', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dE'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"> </tt>
-<a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-746" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-746', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="L1137"></a><tt class="py-lineno">1137</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-747" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-747', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-748" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-750', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dE'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-751" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-751', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-752" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-752', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-753" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-748', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-749" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-749', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-750" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-753', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-754" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-754', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-755" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-750', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dC'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-751" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-751', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-752" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-755', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dC'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-756" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-756', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-757" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-752', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-753" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-753', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-754" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-757', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-758" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-758', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-759" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-754', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dE'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-755" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-755', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-756" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-759', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'dE'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-760" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-760', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-761" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-756', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-757" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-757', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-758" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-761', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'match'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-762" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-762', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-763" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-758', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'De'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1143"></a><tt class="py-lineno">1143</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_regexp_match_groups"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_match_groups-def"><a name="L1144"></a><tt class="py-lineno">1144</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_match_groups-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_match_groups');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match_groups">test_exslt_regexp_match_groups</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match_groups-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match_groups-expanded"><a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"> <tt id="link-759" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-759', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-760" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-763', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'De'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1162"></a><tt class="py-lineno">1162</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_regexp_match_groups"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_match_groups-def"><a name="L1163"></a><tt class="py-lineno">1163</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_match_groups-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_match_groups');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match_groups">test_exslt_regexp_match_groups</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match_groups-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match_groups-expanded"><a name="L1164"></a><tt class="py-lineno">1164</tt> <tt class="py-line"> <tt id="link-764" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-764', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-765" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-760', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-761" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-761', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-762" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-765', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-766" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-766', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-767" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-762', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-763" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-767', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-768" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-763', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-764" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-764', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1147"></a><tt class="py-lineno">1147</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
-<a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
-<a name="L1151"></a><tt class="py-lineno">1151</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
-<a name="L1152"></a><tt class="py-lineno">1152</tt> <tt class="py-line"><tt class="py-string"> '123abc567', '([0-9]+)([a-z]+)([0-9]+)' )"></tt> </tt>
-<a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
-<a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
-<a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
-<a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1157"></a><tt class="py-lineno">1157</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-765" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-765', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-766" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-766', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-767" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-768', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-769" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-769', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"><tt class="py-string"> '123abc567', '([0-9]+)([a-z]+)([0-9]+)' )"></tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-770" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-770', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-771" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-771', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-772" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-767', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-768" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-768', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1160"></a><tt class="py-lineno">1160</tt> <tt class="py-line"> <tt id="link-769" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-769', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-770" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-770', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1161"></a><tt class="py-lineno">1161</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-771" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-771', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-772" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-772', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-773" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-773', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt> <tt class="py-line"> <tt id="link-774" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-774', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-775" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-775', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-776" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-776', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-777" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-772', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1162"></a><tt class="py-lineno">1162</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-773" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-773', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L1163"></a><tt class="py-lineno">1163</tt> <tt class="py-line"> </tt>
-<a name="L1164"></a><tt class="py-lineno">1164</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-774" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-774', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-775" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-777', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-778" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-778', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-779" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-779', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-780" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-775', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"123abc567"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-776" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-776', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-777" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-780', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"123abc567"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-781" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-781', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-782" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-777', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"123"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1166"></a><tt class="py-lineno">1166</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-778" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-778', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-779" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-782', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"123"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-783" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-783', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-784" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-779', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"abc"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-780" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-780', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-781" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-784', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"abc"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-785" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-785', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-786" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-781', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"567"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_regexp_match1"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_match1-def"><a name="L1169"></a><tt class="py-lineno">1169</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_match1-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_match1');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match1">test_exslt_regexp_match1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match1-expanded"><a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"> <tt class="py-comment"># taken from http://www.exslt.org/regexp/functions/match/index.html</tt> </tt>
-<a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"> <tt id="link-782" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-782', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-783" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-786', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"567"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1187"></a><tt class="py-lineno">1187</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_regexp_match1"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_match1-def"><a name="L1188"></a><tt class="py-lineno">1188</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_match1-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_match1');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match1">test_exslt_regexp_match1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match1-expanded"><a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"> <tt class="py-comment"># taken from http://www.exslt.org/regexp/functions/match/index.html</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt> <tt class="py-line"> <tt id="link-787" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-787', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-788" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-783', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-784" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-784', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-785" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-788', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-789" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-789', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-790" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-785', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-786" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-790', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-791" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-786', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-787" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-787', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
-<a name="L1174"></a><tt class="py-lineno">1174</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
-<a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
-<a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"><tt class="py-string"> 'http://www.bayes.co.uk/xml/index.xml?/xml/utils/rechecker.xml',</tt> </tt>
-<a name="L1179"></a><tt class="py-lineno">1179</tt> <tt class="py-line"><tt class="py-string"> '(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)')"></tt> </tt>
-<a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
-<a name="L1181"></a><tt class="py-lineno">1181</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
-<a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
-<a name="L1183"></a><tt class="py-lineno">1183</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1185"></a><tt class="py-lineno">1185</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-788" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-788', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-789" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-789', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-790" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-791', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-792" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-792', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"><tt class="py-string"> 'http://www.bayes.co.uk/xml/index.xml?/xml/utils/rechecker.xml',</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt> <tt class="py-line"><tt class="py-string"> '(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)')"></tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-793" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-793', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-794" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-794', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-795" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-790', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-791" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-791', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1187"></a><tt class="py-lineno">1187</tt> <tt class="py-line"> <tt id="link-792" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-792', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-793" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-793', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1188"></a><tt class="py-lineno">1188</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-794" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-794', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-795" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-795', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-796" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-796', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt> <tt class="py-line"> <tt id="link-797" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-797', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-798" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-798', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-799" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-799', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-800" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-795', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-796" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-796', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-<a name="L1190"></a><tt class="py-lineno">1190</tt> <tt class="py-line"> </tt>
-<a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"> <tt id="link-797" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-797', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-798" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-800', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-801" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-801', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt> <tt class="py-line"> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"> <tt id="link-802" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-802', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-803" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-798', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"> <tt class="py-string">"http://www.bayes.co.uk/xml/index.xml?/xml/utils/rechecker.xml"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"> <tt id="link-799" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-799', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-800" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-803', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"> <tt class="py-string">"http://www.bayes.co.uk/xml/index.xml?/xml/utils/rechecker.xml"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt> <tt class="py-line"> <tt id="link-804" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-804', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-805" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-800', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"> <tt class="py-string">"http"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1198"></a><tt class="py-lineno">1198</tt> <tt class="py-line"> <tt id="link-801" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-801', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-802" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-805', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"> <tt class="py-string">"http"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt> <tt class="py-line"> <tt id="link-806" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-806', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-807" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-802', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1199"></a><tt class="py-lineno">1199</tt> <tt class="py-line"> <tt class="py-string">"www.bayes.co.uk"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-803" class="py-name" targets="Variable lxml.tests.common_imports.HelperTestCase.assertFalse=lxml.tests.common_imports.HelperTestCase-class.html#assertFalse"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-803', 'assertFalse', 'link-803');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-804" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-804', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-805" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-807', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"> <tt class="py-string">"www.bayes.co.uk"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-808" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-808', 'assertFalse', 'link-146');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-809" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-809', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-810" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-805', 'text', 'link-372');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1201"></a><tt class="py-lineno">1201</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1202"></a><tt class="py-lineno">1202</tt> <tt class="py-line"> <tt id="link-806" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-806', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-807" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-810', 'text', 'link-375');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt> <tt class="py-line"> <tt id="link-811" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-811', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-812" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-807', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"> <tt class="py-string">"/xml/index.xml?/xml/utils/rechecker.xml"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1204"></a><tt class="py-lineno">1204</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase.test_exslt_regexp_match2"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_match2-def"><a name="L1205"></a><tt class="py-lineno">1205</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_match2-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_match2');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match2">test_exslt_regexp_match2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match2-expanded"><a name="L1206"></a><tt class="py-lineno">1206</tt> <tt class="py-line"> <tt class="py-comment"># taken from http://www.exslt.org/regexp/functions/match/index.html</tt> </tt>
-<a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"> <tt id="link-808" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-808', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-809" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-812', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt> <tt class="py-line"> <tt class="py-string">"/xml/index.xml?/xml/utils/rechecker.xml"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1223"></a><tt class="py-lineno">1223</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase.test_exslt_regexp_match2"></a><div id="ETreeEXSLTTestCase.test_exslt_regexp_match2-def"><a name="L1224"></a><tt class="py-lineno">1224</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase.test_exslt_regexp_match2-toggle" onclick="return toggle('ETreeEXSLTTestCase.test_exslt_regexp_match2');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#test_exslt_regexp_match2">test_exslt_regexp_match2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase.test_exslt_regexp_match2-expanded"><a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"> <tt class="py-comment"># taken from http://www.exslt.org/regexp/functions/match/index.html</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt> <tt class="py-line"> <tt id="link-813" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-813', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-814" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-809', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-810" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-810', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-811" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-814', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-815" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-815', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-816" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-811', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1209"></a><tt class="py-lineno">1209</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
-<a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
-<a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
-<a name="L1214"></a><tt class="py-lineno">1214</tt> <tt class="py-line"><tt class="py-string"> 'This is a test string', '(\w+)', 'g')"></tt> </tt>
-<a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
-<a name="L1216"></a><tt class="py-lineno">1216</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
-<a name="L1217"></a><tt class="py-lineno">1217</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
-<a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1219"></a><tt class="py-lineno">1219</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1221"></a><tt class="py-lineno">1221</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-812" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-812', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-813" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-813', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-814" class="py-name"><a title="lxml.etree.XML
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-816', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"><tt class="py-string"> 'This is a test string', '(\w+)', 'g')"></tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-817" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-817', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-818" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-818', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-819" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-814', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-815" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-815', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1222"></a><tt class="py-lineno">1222</tt> <tt class="py-line"> <tt id="link-816" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-816', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-817" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-817', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1223"></a><tt class="py-lineno">1223</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-818" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-818', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-819" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-819', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-820" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-820', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt> <tt class="py-line"> <tt id="link-821" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-821', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-822" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-822', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-823" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-823', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-824" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-819', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1224"></a><tt class="py-lineno">1224</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-820" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-820', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-<a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"> </tt>
-<a name="L1226"></a><tt class="py-lineno">1226</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-821" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-821', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-822" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-824', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-825" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-825', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt> <tt class="py-line"> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-826" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-826', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-827" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-822', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"This"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-823" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-823', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-824" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-827', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"This"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-828" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-828', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-829" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-824', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"is"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-825" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-825', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-826" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-829', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"is"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-830" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-830', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-831" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-826', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1229"></a><tt class="py-lineno">1229</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-827" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-827', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-828" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-831', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-832" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-832', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-833" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-828', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1230"></a><tt class="py-lineno">1230</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-829" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-829', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-830" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-833', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-834" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-834', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-835" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-830', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"string"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1231"></a><tt class="py-lineno">1231</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase._test_exslt_regexp_match3"></a><div id="ETreeEXSLTTestCase._test_exslt_regexp_match3-def"><a name="L1232"></a><tt class="py-lineno">1232</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase._test_exslt_regexp_match3-toggle" onclick="return toggle('ETreeEXSLTTestCase._test_exslt_regexp_match3');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#_test_exslt_regexp_match3">_test_exslt_regexp_match3</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase._test_exslt_regexp_match3-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase._test_exslt_regexp_match3-expanded"><a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"> <tt class="py-comment"># taken from http://www.exslt.org/regexp/functions/match/index.html</tt> </tt>
-<a name="L1234"></a><tt class="py-lineno">1234</tt> <tt class="py-line"> <tt class="py-comment"># THIS IS NOT SUPPORTED!</tt> </tt>
-<a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"> <tt id="link-831" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-831', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-832" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-835', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"string"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1250"></a><tt class="py-lineno">1250</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase._test_exslt_regexp_match3"></a><div id="ETreeEXSLTTestCase._test_exslt_regexp_match3-def"><a name="L1251"></a><tt class="py-lineno">1251</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase._test_exslt_regexp_match3-toggle" onclick="return toggle('ETreeEXSLTTestCase._test_exslt_regexp_match3');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#_test_exslt_regexp_match3">_test_exslt_regexp_match3</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase._test_exslt_regexp_match3-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase._test_exslt_regexp_match3-expanded"><a name="L1252"></a><tt class="py-lineno">1252</tt> <tt class="py-line"> <tt class="py-comment"># taken from http://www.exslt.org/regexp/functions/match/index.html</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt> <tt class="py-line"> <tt class="py-comment"># THIS IS NOT SUPPORTED!</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt> <tt class="py-line"> <tt id="link-836" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-836', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-837" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-832', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-833" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-833', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-834" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-837', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-838" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-838', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-839" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-834', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-835" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-839', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-840" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-835', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-836" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-836', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1236"></a><tt class="py-lineno">1236</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1237"></a><tt class="py-lineno">1237</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
-<a name="L1238"></a><tt class="py-lineno">1238</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1239"></a><tt class="py-lineno">1239</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1240"></a><tt class="py-lineno">1240</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
-<a name="L1241"></a><tt class="py-lineno">1241</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
-<a name="L1242"></a><tt class="py-lineno">1242</tt> <tt class="py-line"><tt class="py-string"> 'This is a test string', '([a-z])+ ', 'g')"></tt> </tt>
-<a name="L1243"></a><tt class="py-lineno">1243</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
-<a name="L1244"></a><tt class="py-lineno">1244</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
-<a name="L1245"></a><tt class="py-lineno">1245</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
-<a name="L1246"></a><tt class="py-lineno">1246</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1247"></a><tt class="py-lineno">1247</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1248"></a><tt class="py-lineno">1248</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1249"></a><tt class="py-lineno">1249</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-837" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-837', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-838" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-838', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-839" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-840', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-841" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-841', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt> <tt class="py-line"><tt class="py-string"> 'This is a test string', '([a-z])+ ', 'g')"></tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-842" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-842', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-843" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-843', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-844" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-839', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-840" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-840', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1250"></a><tt class="py-lineno">1250</tt> <tt class="py-line"> <tt id="link-841" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-841', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-842" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-842', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1251"></a><tt class="py-lineno">1251</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-843" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-843', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-844" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-844', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-845" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-845', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt> <tt class="py-line"> <tt id="link-846" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-846', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-847" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-847', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-848" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-848', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-849" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-844', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1252"></a><tt class="py-lineno">1252</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-845" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-845', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L1253"></a><tt class="py-lineno">1253</tt> <tt class="py-line"> </tt>
-<a name="L1254"></a><tt class="py-lineno">1254</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-846" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-846', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-847" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-849', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-850" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-850', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt> <tt class="py-line"> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-851" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-851', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-852" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-847', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"his"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1255"></a><tt class="py-lineno">1255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-848" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-848', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-849" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-852', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"his"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-853" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-853', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-854" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-849', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"is"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1256"></a><tt class="py-lineno">1256</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-850" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-850', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-851" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-854', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"is"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-855" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-855', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-856" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-851', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1257"></a><tt class="py-lineno">1257</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-852" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-852', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-853" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-856', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-857" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-857', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-858" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-853', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1258"></a><tt class="py-lineno">1258</tt> <tt class="py-line"> </tt>
-<a name="ETreeEXSLTTestCase._test_exslt_regexp_match4"></a><div id="ETreeEXSLTTestCase._test_exslt_regexp_match4-def"><a name="L1259"></a><tt class="py-lineno">1259</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase._test_exslt_regexp_match4-toggle" onclick="return toggle('ETreeEXSLTTestCase._test_exslt_regexp_match4');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#_test_exslt_regexp_match4">_test_exslt_regexp_match4</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeEXSLTTestCase._test_exslt_regexp_match4-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase._test_exslt_regexp_match4-expanded"><a name="L1260"></a><tt class="py-lineno">1260</tt> <tt class="py-line"> <tt class="py-comment"># taken from http://www.exslt.org/regexp/functions/match/index.html</tt> </tt>
-<a name="L1261"></a><tt class="py-lineno">1261</tt> <tt class="py-line"> <tt class="py-comment"># THIS IS NOT SUPPORTED!</tt> </tt>
-<a name="L1262"></a><tt class="py-lineno">1262</tt> <tt class="py-line"> <tt id="link-854" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-854', 'xslt', 'link-234');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-855" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-858', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1277"></a><tt class="py-lineno">1277</tt> <tt class="py-line"> </tt>
+<a name="ETreeEXSLTTestCase._test_exslt_regexp_match4"></a><div id="ETreeEXSLTTestCase._test_exslt_regexp_match4-def"><a name="L1278"></a><tt class="py-lineno">1278</tt> <a class="py-toggle" href="#" id="ETreeEXSLTTestCase._test_exslt_regexp_match4-toggle" onclick="return toggle('ETreeEXSLTTestCase._test_exslt_regexp_match4');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#_test_exslt_regexp_match4">_test_exslt_regexp_match4</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeEXSLTTestCase._test_exslt_regexp_match4-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeEXSLTTestCase._test_exslt_regexp_match4-expanded"><a name="L1279"></a><tt class="py-lineno">1279</tt> <tt class="py-line"> <tt class="py-comment"># taken from http://www.exslt.org/regexp/functions/match/index.html</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt> <tt class="py-line"> <tt class="py-comment"># THIS IS NOT SUPPORTED!</tt> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt> <tt class="py-line"> <tt id="link-859" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-859', 'xslt', 'link-237');">xslt</a></tt> <tt class="py-op">=</tt> <tt id="link-860" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-855', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-856" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-856', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-857" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-860', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-861" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-861', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-862" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-857', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-858" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-862', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-863" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-858', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-859" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-859', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1263"></a><tt class="py-lineno">1263</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1264"></a><tt class="py-lineno">1264</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
-<a name="L1265"></a><tt class="py-lineno">1265</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1266"></a><tt class="py-lineno">1266</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1267"></a><tt class="py-lineno">1267</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
-<a name="L1268"></a><tt class="py-lineno">1268</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
-<a name="L1269"></a><tt class="py-lineno">1269</tt> <tt class="py-line"><tt class="py-string"> 'This is a test string', '([a-z])+ ', 'gi')"></tt> </tt>
-<a name="L1270"></a><tt class="py-lineno">1270</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
-<a name="L1271"></a><tt class="py-lineno">1271</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
-<a name="L1272"></a><tt class="py-lineno">1272</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
-<a name="L1273"></a><tt class="py-lineno">1273</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1274"></a><tt class="py-lineno">1274</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1275"></a><tt class="py-lineno">1275</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1276"></a><tt class="py-lineno">1276</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-860" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-860', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-861" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-861', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-862" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-863', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-864" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-864', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt> <tt class="py-line"><tt class="py-string"> xmlns:regexp="http://exslt.org/regular-expressions"</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt> <tt class="py-line"><tt class="py-string"> <test></tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt> <tt class="py-line"><tt class="py-string"> <xsl:for-each select="regexp:match(</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt> <tt class="py-line"><tt class="py-string"> 'This is a test string', '([a-z])+ ', 'gi')"></tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt> <tt class="py-line"><tt class="py-string"> <test1><xsl:value-of select="."/></test1></tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt> <tt class="py-line"><tt class="py-string"> </xsl:for-each></tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt> <tt class="py-line"><tt class="py-string"> </test></tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-865" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-865', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-866" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-866', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-867" class="py-name"><a title="lxml.etree.XML
lxml.objectify.XML
lxml.tests.test_objectify.ObjectifyTestCase.XML
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-862', 'XML', 'link-361');">XML</a></tt><tt class="py-op">(</tt><tt id="link-863" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-863', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1277"></a><tt class="py-lineno">1277</tt> <tt class="py-line"> <tt id="link-864" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-864', 'root', 'link-365');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-865" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-865', 'getroot', 'link-121');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1278"></a><tt class="py-lineno">1278</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-866" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-866', 'root', 'link-365');">root</a></tt><tt class="py-op">.</tt><tt id="link-867" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-867', 'XML', 'link-364');">XML</a></tt><tt class="py-op">(</tt><tt id="link-868" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-868', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt> <tt class="py-line"> <tt id="link-869" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-869', 'root', 'link-368');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-870" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-870', 'getroot', 'link-117');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-871" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-871', 'root', 'link-368');">root</a></tt><tt class="py-op">.</tt><tt id="link-872" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-867', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1279"></a><tt class="py-lineno">1279</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-868" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-868', 'root', 'link-365');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L1280"></a><tt class="py-lineno">1280</tt> <tt class="py-line"> </tt>
-<a name="L1281"></a><tt class="py-lineno">1281</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-869" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-869', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-870" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-872', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-873" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-873', 'root', 'link-368');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt> <tt class="py-line"> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-874" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-874', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-875" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-870', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"This"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1282"></a><tt class="py-lineno">1282</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-871" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-871', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-872" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-875', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"This"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-876" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-876', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-877" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-872', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"is"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1283"></a><tt class="py-lineno">1283</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-873" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-873', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-874" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-877', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"is"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-878" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-878', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-879" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-874', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1284"></a><tt class="py-lineno">1284</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-875" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-875', 'root', 'link-365');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-876" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-879', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-880" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-880', 'root', 'link-368');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-881" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-876', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1285"></a><tt class="py-lineno">1285</tt> <tt class="py-line"> </tt>
-<a name="L1286"></a><tt class="py-lineno">1286</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtFuncTestCase"></a><div id="ETreeXSLTExtFuncTestCase-def"><a name="L1287"></a><tt class="py-lineno">1287</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">HelperTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtFuncTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeXSLTExtFuncTestCase-expanded"><a name="L1288"></a><tt class="py-lineno">1288</tt> <tt class="py-line"> <tt class="py-docstring">"""Tests for XPath extension functions in XSLT."""</tt> </tt>
-<a name="L1289"></a><tt class="py-lineno">1289</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtFuncTestCase.test_extensions1"></a><div id="ETreeXSLTExtFuncTestCase.test_extensions1-def"><a name="L1290"></a><tt class="py-lineno">1290</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_extensions1-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_extensions1');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_extensions1">test_extensions1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtFuncTestCase.test_extensions1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_extensions1-expanded"><a name="L1291"></a><tt class="py-lineno">1291</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-877" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-881', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1304"></a><tt class="py-lineno">1304</tt> <tt class="py-line"> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtFuncTestCase"></a><div id="ETreeXSLTExtFuncTestCase-def"><a name="L1306"></a><tt class="py-lineno">1306</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">HelperTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtFuncTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeXSLTExtFuncTestCase-expanded"><a name="L1307"></a><tt class="py-lineno">1307</tt> <tt class="py-line"> <tt class="py-docstring">"""Tests for XPath extension functions in XSLT."""</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtFuncTestCase.test_extensions1"></a><div id="ETreeXSLTExtFuncTestCase.test_extensions1-def"><a name="L1309"></a><tt class="py-lineno">1309</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_extensions1-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_extensions1');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_extensions1">test_extensions1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtFuncTestCase.test_extensions1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_extensions1-expanded"><a name="L1310"></a><tt class="py-lineno">1310</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-882" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-877', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1292"></a><tt class="py-lineno">1292</tt> <tt class="py-line"> <tt id="link-878" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-878', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-879" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-882', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt> <tt class="py-line"> <tt id="link-883" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-883', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-884" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-879', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1293"></a><tt class="py-lineno">1293</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1294"></a><tt class="py-lineno">1294</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1295"></a><tt class="py-lineno">1295</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1296"></a><tt class="py-lineno">1296</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1297"></a><tt class="py-lineno">1297</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"><A><xsl:value-of select="myns:mytext(b)"/></A></xsl:template></tt> </tt>
-<a name="L1298"></a><tt class="py-lineno">1298</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1299"></a><tt class="py-lineno">1299</tt> <tt class="py-line"> </tt>
-<a name="L1300"></a><tt class="py-lineno">1300</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">mytext</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1301"></a><tt class="py-lineno">1301</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'X'</tt> <tt class="py-op">*</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-880" class="py-name" targets="Method lxml.etree._Attrib.values()=lxml.etree._Attrib-class.html#values,Method lxml.etree._Element.values()=lxml.etree._Element-class.html#values,Method lxml.etree._IDDict.values()=lxml.etree._IDDict-class.html#values"><a title="lxml.etree._Attrib.values
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-884', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"><A><xsl:value-of select="myns:mytext(b)"/></A></xsl:template></tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt> <tt class="py-line"> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">mytext</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'X'</tt> <tt class="py-op">*</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-885" class="py-name" targets="Method lxml.etree._Attrib.values()=lxml.etree._Attrib-class.html#values,Method lxml.etree._Element.values()=lxml.etree._Element-class.html#values,Method lxml.etree._IDDict.values()=lxml.etree._IDDict-class.html#values"><a title="lxml.etree._Attrib.values
lxml.etree._Element.values
-lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-880', 'values', 'link-880');">values</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1302"></a><tt class="py-lineno">1302</tt> <tt class="py-line"> </tt>
-<a name="L1303"></a><tt class="py-lineno">1303</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-881" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-881', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-882" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-882', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'mytext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">mytext</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L1304"></a><tt class="py-lineno">1304</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-883" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-883', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1305"></a><tt class="py-lineno">1305</tt> <tt class="py-line"> <tt id="link-884" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-884', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>X</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1306"></a><tt class="py-lineno">1306</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtFuncTestCase.test_extensions2"></a><div id="ETreeXSLTExtFuncTestCase.test_extensions2-def"><a name="L1307"></a><tt class="py-lineno">1307</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_extensions2-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_extensions2');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_extensions2">test_extensions2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtFuncTestCase.test_extensions2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_extensions2-expanded"><a name="L1308"></a><tt class="py-lineno">1308</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-885" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-885', 'values', 'link-885');">values</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1321"></a><tt class="py-lineno">1321</tt> <tt class="py-line"> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-886" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-886', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-887" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-887', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'mytext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">mytext</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-888" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-888', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt> <tt class="py-line"> <tt id="link-889" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-889', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>X</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1325"></a><tt class="py-lineno">1325</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtFuncTestCase.test_extensions2"></a><div id="ETreeXSLTExtFuncTestCase.test_extensions2-def"><a name="L1326"></a><tt class="py-lineno">1326</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_extensions2-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_extensions2');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_extensions2">test_extensions2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtFuncTestCase.test_extensions2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_extensions2-expanded"><a name="L1327"></a><tt class="py-lineno">1327</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-890" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-885', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1309"></a><tt class="py-lineno">1309</tt> <tt class="py-line"> <tt id="link-886" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-886', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-887" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-890', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt> <tt class="py-line"> <tt id="link-891" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-891', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-892" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-887', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1310"></a><tt class="py-lineno">1310</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1311"></a><tt class="py-lineno">1311</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1312"></a><tt class="py-lineno">1312</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1313"></a><tt class="py-lineno">1313</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1314"></a><tt class="py-lineno">1314</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"><A><xsl:value-of select="myns:mytext(b)"/></A></xsl:template></tt> </tt>
-<a name="L1315"></a><tt class="py-lineno">1315</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1316"></a><tt class="py-lineno">1316</tt> <tt class="py-line"> </tt>
-<a name="L1317"></a><tt class="py-lineno">1317</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">mytext</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1318"></a><tt class="py-lineno">1318</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'X'</tt> <tt class="py-op">*</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-888" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-892', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"><A><xsl:value-of select="myns:mytext(b)"/></A></xsl:template></tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt> <tt class="py-line"> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">mytext</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'X'</tt> <tt class="py-op">*</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-893" class="py-name"><a title="lxml.etree._Attrib.values
lxml.etree._Element.values
-lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-888', 'values', 'link-880');">values</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1319"></a><tt class="py-lineno">1319</tt> <tt class="py-line"> </tt>
-<a name="L1320"></a><tt class="py-lineno">1320</tt> <tt class="py-line"> <tt id="link-889" class="py-name" targets="Variable lxml.etree.QName.namespace=lxml.etree.QName-class.html#namespace,Function lxml.tests.selftest.namespace()=lxml.tests.selftest-module.html#namespace"><a title="lxml.etree.QName.namespace
-lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-889', 'namespace', 'link-889');">namespace</a></tt> <tt class="py-op">=</tt> <tt id="link-890" class="py-name"><a title="lxml.etree
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-893', 'values', 'link-885');">values</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1338"></a><tt class="py-lineno">1338</tt> <tt class="py-line"> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt> <tt class="py-line"> <tt id="link-894" class="py-name" targets="Variable lxml.etree.QName.namespace=lxml.etree.QName-class.html#namespace,Function lxml.tests.selftest.namespace()=lxml.tests.selftest-module.html#namespace"><a title="lxml.etree.QName.namespace
+lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-894', 'namespace', 'link-894');">namespace</a></tt> <tt class="py-op">=</tt> <tt id="link-895" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-890', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-891" class="py-name" targets="Function lxml.etree.FunctionNamespace()=lxml.etree-module.html#FunctionNamespace"><a title="lxml.etree.FunctionNamespace" class="py-name" href="#" onclick="return doclink('link-891', 'FunctionNamespace', 'link-891');">FunctionNamespace</a></tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1321"></a><tt class="py-lineno">1321</tt> <tt class="py-line"> <tt id="link-892" class="py-name"><a title="lxml.etree.QName.namespace
-lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-892', 'namespace', 'link-889');">namespace</a></tt><tt class="py-op">[</tt><tt class="py-string">'mytext'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">mytext</tt> </tt>
-<a name="L1322"></a><tt class="py-lineno">1322</tt> <tt class="py-line"> </tt>
-<a name="L1323"></a><tt class="py-lineno">1323</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-893" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-893', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-894" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-894', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1324"></a><tt class="py-lineno">1324</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-895" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-895', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1325"></a><tt class="py-lineno">1325</tt> <tt class="py-line"> <tt id="link-896" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-896', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>X</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1326"></a><tt class="py-lineno">1326</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment"></a><div id="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment-def"><a name="L1327"></a><tt class="py-lineno">1327</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_variable_result_tree_fragment">test_variable_result_tree_fragment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment-expanded"><a name="L1328"></a><tt class="py-lineno">1328</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-897" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-895', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-896" class="py-name" targets="Function lxml.etree.FunctionNamespace()=lxml.etree-module.html#FunctionNamespace"><a title="lxml.etree.FunctionNamespace" class="py-name" href="#" onclick="return doclink('link-896', 'FunctionNamespace', 'link-896');">FunctionNamespace</a></tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt> <tt class="py-line"> <tt id="link-897" class="py-name"><a title="lxml.etree.QName.namespace
+lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-897', 'namespace', 'link-894');">namespace</a></tt><tt class="py-op">[</tt><tt class="py-string">'mytext'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">mytext</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt> <tt class="py-line"> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-898" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-898', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-899" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-899', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-900" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-900', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt> <tt class="py-line"> <tt id="link-901" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-901', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>X</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1345"></a><tt class="py-lineno">1345</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment"></a><div id="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment-def"><a name="L1346"></a><tt class="py-lineno">1346</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_variable_result_tree_fragment">test_variable_result_tree_fragment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_variable_result_tree_fragment-expanded"><a name="L1347"></a><tt class="py-lineno">1347</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-902" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-897', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><b/></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1329"></a><tt class="py-lineno">1329</tt> <tt class="py-line"> <tt id="link-898" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-898', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-899" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-902', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><b/></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt> <tt class="py-line"> <tt id="link-903" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-903', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-904" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-899', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1330"></a><tt class="py-lineno">1330</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1331"></a><tt class="py-lineno">1331</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1332"></a><tt class="py-lineno">1332</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1333"></a><tt class="py-lineno">1333</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1334"></a><tt class="py-lineno">1334</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1335"></a><tt class="py-lineno">1335</tt> <tt class="py-line"><tt class="py-string"> <xsl:variable name="content"></tt> </tt>
-<a name="L1336"></a><tt class="py-lineno">1336</tt> <tt class="py-line"><tt class="py-string"> <xsl:apply-templates/></tt> </tt>
-<a name="L1337"></a><tt class="py-lineno">1337</tt> <tt class="py-line"><tt class="py-string"> </xsl:variable></tt> </tt>
-<a name="L1338"></a><tt class="py-lineno">1338</tt> <tt class="py-line"><tt class="py-string"> <A><xsl:value-of select="myns:mytext($content)"/></A></tt> </tt>
-<a name="L1339"></a><tt class="py-lineno">1339</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1340"></a><tt class="py-lineno">1340</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="b"><xsl:copy>BBB</xsl:copy></xsl:template></tt> </tt>
-<a name="L1341"></a><tt class="py-lineno">1341</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1342"></a><tt class="py-lineno">1342</tt> <tt class="py-line"> </tt>
-<a name="L1343"></a><tt class="py-lineno">1343</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">mytext</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1344"></a><tt class="py-lineno">1344</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-900" class="py-name" targets="Variable lxml.html.CheckboxGroup.value=lxml.html.CheckboxGroup-class.html#value,Variable lxml.html.InputElement.value=lxml.html.InputElement-class.html#value,Variable lxml.html.RadioGroup.value=lxml.html.RadioGroup-class.html#value,Variable lxml.html.SelectElement.value=lxml.html.SelectElement-class.html#value,Variable lxml.html.TextareaElement.value=lxml.html.TextareaElement-class.html#value"><a title="lxml.html.CheckboxGroup.value
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-904', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt> <tt class="py-line"><tt class="py-string"> <xsl:variable name="content"></tt> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"><tt class="py-string"> <xsl:apply-templates/></tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"><tt class="py-string"> </xsl:variable></tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"><tt class="py-string"> <A><xsl:value-of select="myns:mytext($content)"/></A></tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="b"><xsl:copy>BBB</xsl:copy></xsl:template></tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt> <tt class="py-line"> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">mytext</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-905" class="py-name" targets="Variable lxml.html.CheckboxGroup.value=lxml.html.CheckboxGroup-class.html#value,Variable lxml.html.InputElement.value=lxml.html.InputElement-class.html#value,Variable lxml.html.RadioGroup.value=lxml.html.RadioGroup-class.html#value,Variable lxml.html.SelectElement.value=lxml.html.SelectElement-class.html#value,Variable lxml.html.TextareaElement.value=lxml.html.TextareaElement-class.html#value"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-900', 'value', 'link-900');">value</a></tt> <tt class="py-keyword">in</tt> <tt id="link-901" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-905', 'value', 'link-905');">value</a></tt> <tt class="py-keyword">in</tt> <tt id="link-906" class="py-name"><a title="lxml.etree._Attrib.values
lxml.etree._Element.values
-lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-901', 'values', 'link-880');">values</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1345"></a><tt class="py-lineno">1345</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-902" class="py-name" targets="Method lxml.objectify.ObjectPath.hasattr()=lxml.objectify.ObjectPath-class.html#hasattr"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-902', 'hasattr', 'link-902');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-903" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-906', 'values', 'link-885');">values</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertTrue</tt><tt class="py-op">(</tt><tt id="link-907" class="py-name" targets="Method lxml.objectify.ObjectPath.hasattr()=lxml.objectify.ObjectPath-class.html#hasattr"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-907', 'hasattr', 'link-907');">hasattr</a></tt><tt class="py-op">(</tt><tt id="link-908" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-903', 'value', 'link-900');">value</a></tt><tt class="py-op">,</tt> <tt class="py-string">'tag'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1346"></a><tt class="py-lineno">1346</tt> <tt class="py-line"> <tt class="py-string">"%s is not an Element"</tt> <tt class="py-op">%</tt> <tt id="link-904" class="py-name"><a title="lxml.etree._LogEntry.type
-lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-904', 'type', 'link-550');">type</a></tt><tt class="py-op">(</tt><tt id="link-905" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-908', 'value', 'link-905');">value</a></tt><tt class="py-op">,</tt> <tt class="py-string">'tag'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt> <tt class="py-line"> <tt class="py-string">"%s is not an Element"</tt> <tt class="py-op">%</tt> <tt id="link-909" class="py-name"><a title="lxml.etree._LogEntry.type
+lxml.html.InputElement.type" class="py-name" href="#" onclick="return doclink('link-909', 'type', 'link-557');">type</a></tt><tt class="py-op">(</tt><tt id="link-910" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-905', 'value', 'link-900');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1347"></a><tt class="py-lineno">1347</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-906" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-910', 'value', 'link-905');">value</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-911" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-906', 'value', 'link-900');">value</a></tt><tt class="py-op">.</tt><tt id="link-907" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-911', 'value', 'link-905');">value</a></tt><tt class="py-op">.</tt><tt id="link-912" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-907', 'tag', 'link-368');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1348"></a><tt class="py-lineno">1348</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-908" class="py-name"><a title="lxml.html.CheckboxGroup.value
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-912', 'tag', 'link-371');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-913" class="py-name"><a title="lxml.html.CheckboxGroup.value
lxml.html.InputElement.value
lxml.html.RadioGroup.value
lxml.html.SelectElement.value
-lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-908', 'value', 'link-900');">value</a></tt><tt class="py-op">.</tt><tt id="link-909" class="py-name"><a title="lxml.etree.QName.text
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-913', 'value', 'link-905');">value</a></tt><tt class="py-op">.</tt><tt id="link-914" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-909', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'BBB'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1349"></a><tt class="py-lineno">1349</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'X'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-910" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-914', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'BBB'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'X'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-915" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-910', 'tag', 'link-368');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-911" class="py-name"><a title="lxml.etree._Attrib.values
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-915', 'tag', 'link-371');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-916" class="py-name"><a title="lxml.etree._Attrib.values
lxml.etree._Element.values
-lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-911', 'values', 'link-880');">values</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1350"></a><tt class="py-lineno">1350</tt> <tt class="py-line"> </tt>
-<a name="L1351"></a><tt class="py-lineno">1351</tt> <tt class="py-line"> <tt id="link-912" class="py-name"><a title="lxml.etree.QName.namespace
-lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-912', 'namespace', 'link-889');">namespace</a></tt> <tt class="py-op">=</tt> <tt id="link-913" class="py-name"><a title="lxml.etree
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-916', 'values', 'link-885');">values</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1369"></a><tt class="py-lineno">1369</tt> <tt class="py-line"> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt> <tt class="py-line"> <tt id="link-917" class="py-name"><a title="lxml.etree.QName.namespace
+lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-917', 'namespace', 'link-894');">namespace</a></tt> <tt class="py-op">=</tt> <tt id="link-918" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-913', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-914" class="py-name"><a title="lxml.etree.FunctionNamespace" class="py-name" href="#" onclick="return doclink('link-914', 'FunctionNamespace', 'link-891');">FunctionNamespace</a></tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"> <tt id="link-915" class="py-name"><a title="lxml.etree.QName.namespace
-lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-915', 'namespace', 'link-889');">namespace</a></tt><tt class="py-op">[</tt><tt class="py-string">'mytext'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">mytext</tt> </tt>
-<a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"> </tt>
-<a name="L1354"></a><tt class="py-lineno">1354</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-916" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-916', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-917" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-917', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-918" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-918', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"> <tt id="link-919" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-919', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>bXb</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node"></a><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node-def"><a name="L1358"></a><tt class="py-lineno">1358</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_xpath_on_context_node');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_xpath_on_context_node">test_xpath_on_context_node</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node-expanded"><a name="L1359"></a><tt class="py-lineno">1359</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-920" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-918', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-919" class="py-name"><a title="lxml.etree.FunctionNamespace" class="py-name" href="#" onclick="return doclink('link-919', 'FunctionNamespace', 'link-896');">FunctionNamespace</a></tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt> <tt class="py-line"> <tt id="link-920" class="py-name"><a title="lxml.etree.QName.namespace
+lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-920', 'namespace', 'link-894');">namespace</a></tt><tt class="py-op">[</tt><tt class="py-string">'mytext'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">mytext</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-921" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-921', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-922" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-922', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-923" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-923', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"> <tt id="link-924" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-924', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>bXb</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1376"></a><tt class="py-lineno">1376</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node"></a><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node-def"><a name="L1377"></a><tt class="py-lineno">1377</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_xpath_on_context_node');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_xpath_on_context_node">test_xpath_on_context_node</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_context_node-expanded"><a name="L1378"></a><tt class="py-lineno">1378</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-925" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-920', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B<c/>C</b><b/></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1360"></a><tt class="py-lineno">1360</tt> <tt class="py-line"> <tt id="link-921" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-921', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-922" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-925', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B<c/>C</b><b/></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt> <tt class="py-line"> <tt id="link-926" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-926', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-927" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-922', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1361"></a><tt class="py-lineno">1361</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1362"></a><tt class="py-lineno">1362</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1363"></a><tt class="py-lineno">1363</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1364"></a><tt class="py-lineno">1364</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1365"></a><tt class="py-lineno">1365</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="b"></tt> </tt>
-<a name="L1366"></a><tt class="py-lineno">1366</tt> <tt class="py-line"><tt class="py-string"> <A><xsl:value-of select="myns:myext()"/></A></tt> </tt>
-<a name="L1367"></a><tt class="py-lineno">1367</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1368"></a><tt class="py-lineno">1368</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1369"></a><tt class="py-lineno">1369</tt> <tt class="py-line"> </tt>
-<a name="L1370"></a><tt class="py-lineno">1370</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">extfunc</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1371"></a><tt class="py-lineno">1371</tt> <tt class="py-line"> <tt id="link-923" class="py-name" targets="Method lxml.html.HtmlMixin.text_content()=lxml.html.HtmlMixin-class.html#text_content"><a title="lxml.html.HtmlMixin.text_content" class="py-name" href="#" onclick="return doclink('link-923', 'text_content', 'link-923');">text_content</a></tt> <tt class="py-op">=</tt> <tt class="py-name">ctxt</tt><tt class="py-op">.</tt><tt class="py-name">context_node</tt><tt class="py-op">.</tt><tt id="link-924" class="py-name" targets="Method lxml.etree._Element.xpath()=lxml.etree._Element-class.html#xpath,Method lxml.etree._ElementTree.xpath()=lxml.etree._ElementTree-class.html#xpath,Function lxml.tests.test_xpathevaluator.xpath()=lxml.tests.test_xpathevaluator-module.html#xpath"><a title="lxml.etree._Element.xpath
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-927', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="b"></tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt> <tt class="py-line"><tt class="py-string"> <A><xsl:value-of select="myns:myext()"/></A></tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt> <tt class="py-line"> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">extfunc</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt> <tt class="py-line"> <tt id="link-928" class="py-name" targets="Method lxml.html.HtmlMixin.text_content()=lxml.html.HtmlMixin-class.html#text_content"><a title="lxml.html.HtmlMixin.text_content" class="py-name" href="#" onclick="return doclink('link-928', 'text_content', 'link-928');">text_content</a></tt> <tt class="py-op">=</tt> <tt class="py-name">ctxt</tt><tt class="py-op">.</tt><tt class="py-name">context_node</tt><tt class="py-op">.</tt><tt id="link-929" class="py-name" targets="Method lxml.etree._Element.xpath()=lxml.etree._Element-class.html#xpath,Method lxml.etree._ElementTree.xpath()=lxml.etree._ElementTree-class.html#xpath,Function lxml.tests.test_xpathevaluator.xpath()=lxml.tests.test_xpathevaluator-module.html#xpath"><a title="lxml.etree._Element.xpath
lxml.etree._ElementTree.xpath
-lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-924', 'xpath', 'link-924');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">'text()'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'x'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-925" class="py-name"><a title="lxml.html.HtmlMixin.text_content" class="py-name" href="#" onclick="return doclink('link-925', 'text_content', 'link-923');">text_content</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1373"></a><tt class="py-lineno">1373</tt> <tt class="py-line"> </tt>
-<a name="L1374"></a><tt class="py-lineno">1374</tt> <tt class="py-line"> <tt id="link-926" class="py-name"><a title="lxml.etree.QName.namespace
-lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-926', 'namespace', 'link-889');">namespace</a></tt> <tt class="py-op">=</tt> <tt id="link-927" class="py-name"><a title="lxml.etree
+lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-929', 'xpath', 'link-929');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">'text()'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'x'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-930" class="py-name"><a title="lxml.html.HtmlMixin.text_content" class="py-name" href="#" onclick="return doclink('link-930', 'text_content', 'link-928');">text_content</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1392"></a><tt class="py-lineno">1392</tt> <tt class="py-line"> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt> <tt class="py-line"> <tt id="link-931" class="py-name"><a title="lxml.etree.QName.namespace
+lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-931', 'namespace', 'link-894');">namespace</a></tt> <tt class="py-op">=</tt> <tt id="link-932" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-927', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-928" class="py-name"><a title="lxml.etree.FunctionNamespace" class="py-name" href="#" onclick="return doclink('link-928', 'FunctionNamespace', 'link-891');">FunctionNamespace</a></tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"> <tt id="link-929" class="py-name"><a title="lxml.etree.QName.namespace
-lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-929', 'namespace', 'link-889');">namespace</a></tt><tt class="py-op">[</tt><tt class="py-string">'myext'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">extfunc</tt> </tt>
-<a name="L1376"></a><tt class="py-lineno">1376</tt> <tt class="py-line"> </tt>
-<a name="L1377"></a><tt class="py-lineno">1377</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-930" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-930', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-931" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-931', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1378"></a><tt class="py-lineno">1378</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-932" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-932', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1379"></a><tt class="py-lineno">1379</tt> <tt class="py-line"> <tt id="link-933" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-933', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>BxC</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1380"></a><tt class="py-lineno">1380</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node"></a><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node-def"><a name="L1381"></a><tt class="py-lineno">1381</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_xpath_on_foreign_context_node">test_xpath_on_foreign_context_node</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node-expanded"><a name="L1382"></a><tt class="py-lineno">1382</tt> <tt class="py-line"> <tt class="py-comment"># LP ticket 1354652</tt> </tt>
-<a name="L1383"></a><tt class="py-lineno">1383</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">Resolver</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">Resolver</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1384"></a><tt class="py-lineno">1384</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">resolve</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">system_url</tt><tt class="py-op">,</tt> <tt class="py-param">public_id</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1385"></a><tt class="py-lineno">1385</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-934" class="py-name" targets="Variable lxml.etree.DTD.system_url=lxml.etree.DTD-class.html#system_url,Variable lxml.etree.DocInfo.system_url=lxml.etree.DocInfo-class.html#system_url"><a title="lxml.etree.DTD.system_url
-lxml.etree.DocInfo.system_url" class="py-name" href="#" onclick="return doclink('link-934', 'system_url', 'link-934');">system_url</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'extdoc.xml'</tt> </tt>
-<a name="L1386"></a><tt class="py-lineno">1386</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-935" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-935', 'resolve_string', 'link-415');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-string">b'<a><b>B<c/>C</b><b/></a>'</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1387"></a><tt class="py-lineno">1387</tt> <tt class="py-line"> </tt>
-<a name="L1388"></a><tt class="py-lineno">1388</tt> <tt class="py-line"> <tt id="link-936" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-936', 'parser', 'link-416');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-937" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-932', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-933" class="py-name"><a title="lxml.etree.FunctionNamespace" class="py-name" href="#" onclick="return doclink('link-933', 'FunctionNamespace', 'link-896');">FunctionNamespace</a></tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt> <tt class="py-line"> <tt id="link-934" class="py-name"><a title="lxml.etree.QName.namespace
+lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-934', 'namespace', 'link-894');">namespace</a></tt><tt class="py-op">[</tt><tt class="py-string">'myext'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">extfunc</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt> <tt class="py-line"> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-935" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-935', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-936" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-936', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-937" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-937', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt> <tt class="py-line"> <tt id="link-938" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-938', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>BxC</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1399"></a><tt class="py-lineno">1399</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node"></a><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node-def"><a name="L1400"></a><tt class="py-lineno">1400</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node-toggle" onclick="return toggle('ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html#test_xpath_on_foreign_context_node">test_xpath_on_foreign_context_node</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtFuncTestCase.test_xpath_on_foreign_context_node-expanded"><a name="L1401"></a><tt class="py-lineno">1401</tt> <tt class="py-line"> <tt class="py-comment"># LP ticket 1354652</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">Resolver</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">Resolver</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">resolve</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">system_url</tt><tt class="py-op">,</tt> <tt class="py-param">public_id</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-939" class="py-name" targets="Variable lxml.etree.DTD.system_url=lxml.etree.DTD-class.html#system_url,Variable lxml.etree.DocInfo.system_url=lxml.etree.DocInfo-class.html#system_url"><a title="lxml.etree.DTD.system_url
+lxml.etree.DocInfo.system_url" class="py-name" href="#" onclick="return doclink('link-939', 'system_url', 'link-939');">system_url</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'extdoc.xml'</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-940" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-940', 'resolve_string', 'link-422');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-string">b'<a><b>B<c/>C</b><b/></a>'</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1406"></a><tt class="py-lineno">1406</tt> <tt class="py-line"> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt> <tt class="py-line"> <tt id="link-941" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-941', 'parser', 'link-423');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-942" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-937', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-938" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-942', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-943" class="py-name"><a title="lxml.etree.XMLParser
lxml.tests.test_elementtree._ETreeTestCaseBase.XMLParser
-xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-938', 'XMLParser', 'link-418');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1389"></a><tt class="py-lineno">1389</tt> <tt class="py-line"> <tt id="link-939" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-939', 'parser', 'link-416');">parser</a></tt><tt class="py-op">.</tt><tt id="link-940" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-940', 'resolvers', 'link-420');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-941" class="py-name"><a title="lxml.html.CheckboxValues.add
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-943', 'XMLParser', 'link-425');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt> <tt class="py-line"> <tt id="link-944" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-944', 'parser', 'link-423');">parser</a></tt><tt class="py-op">.</tt><tt id="link-945" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-945', 'resolvers', 'link-427');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-946" class="py-name"><a title="lxml.html.CheckboxValues.add
lxml.html.Classes.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-941', 'add', 'link-421');">add</a></tt><tt class="py-op">(</tt><tt id="link-942" class="py-name" targets="Class lxml.etree.Resolver=lxml.etree.Resolver-class.html"><a title="lxml.etree.Resolver" class="py-name" href="#" onclick="return doclink('link-942', 'Resolver', 'link-942');">Resolver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1390"></a><tt class="py-lineno">1390</tt> <tt class="py-line"> </tt>
-<a name="L1391"></a><tt class="py-lineno">1391</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-943" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-946', 'add', 'link-428');">add</a></tt><tt class="py-op">(</tt><tt id="link-947" class="py-name" targets="Class lxml.etree.Resolver=lxml.etree.Resolver-class.html"><a title="lxml.etree.Resolver" class="py-name" href="#" onclick="return doclink('link-947', 'Resolver', 'link-947');">Resolver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt> <tt class="py-line"> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-948" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-943', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">b'<a><b/><b/></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1392"></a><tt class="py-lineno">1392</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-944" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-948', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">b'<a><b/><b/></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-949" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-944', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-945" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-945', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-946" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-949', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-950" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-950', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-951" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-946', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">b'''\</tt> </tt>
-<a name="L1393"></a><tt class="py-lineno">1393</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1394"></a><tt class="py-lineno">1394</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1395"></a><tt class="py-lineno">1395</tt> <tt class="py-line"><tt class="py-string"> xmlns:mypre="testns"</tt> </tt>
-<a name="L1396"></a><tt class="py-lineno">1396</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="mypre"></tt> </tt>
-<a name="L1397"></a><tt class="py-lineno">1397</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="b"></tt> </tt>
-<a name="L1398"></a><tt class="py-lineno">1398</tt> <tt class="py-line"><tt class="py-string"> <B><xsl:value-of select="mypre:myext()"/></B></tt> </tt>
-<a name="L1399"></a><tt class="py-lineno">1399</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1400"></a><tt class="py-lineno">1400</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1401"></a><tt class="py-lineno">1401</tt> <tt class="py-line"><tt class="py-string"> <A><xsl:apply-templates select="document('extdoc.xml')//b" /></A></tt> </tt>
-<a name="L1402"></a><tt class="py-lineno">1402</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1403"></a><tt class="py-lineno">1403</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">,</tt> <tt id="link-947" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-947', 'parser', 'link-416');">parser</a></tt><tt class="py-op">=</tt><tt id="link-948" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-948', 'parser', 'link-416');">parser</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1404"></a><tt class="py-lineno">1404</tt> <tt class="py-line"> </tt>
-<a name="L1405"></a><tt class="py-lineno">1405</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">extfunc</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1406"></a><tt class="py-lineno">1406</tt> <tt class="py-line"> <tt id="link-949" class="py-name"><a title="lxml.html.HtmlMixin.text_content" class="py-name" href="#" onclick="return doclink('link-949', 'text_content', 'link-923');">text_content</a></tt> <tt class="py-op">=</tt> <tt class="py-name">ctxt</tt><tt class="py-op">.</tt><tt class="py-name">context_node</tt><tt class="py-op">.</tt><tt id="link-950" class="py-name"><a title="lxml.etree._Element.xpath
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-951', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">b'''\</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt> <tt class="py-line"><tt class="py-string"> xmlns:mypre="testns"</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="mypre"></tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="b"></tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt> <tt class="py-line"><tt class="py-string"> <B><xsl:value-of select="mypre:myext()"/></B></tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt> <tt class="py-line"><tt class="py-string"> <A><xsl:apply-templates select="document('extdoc.xml')//b" /></A></tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">,</tt> <tt id="link-952" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-952', 'parser', 'link-423');">parser</a></tt><tt class="py-op">=</tt><tt id="link-953" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-953', 'parser', 'link-423');">parser</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt> <tt class="py-line"> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">extfunc</tt><tt class="py-op">(</tt><tt class="py-param">ctxt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt> <tt class="py-line"> <tt id="link-954" class="py-name"><a title="lxml.html.HtmlMixin.text_content" class="py-name" href="#" onclick="return doclink('link-954', 'text_content', 'link-928');">text_content</a></tt> <tt class="py-op">=</tt> <tt class="py-name">ctxt</tt><tt class="py-op">.</tt><tt class="py-name">context_node</tt><tt class="py-op">.</tt><tt id="link-955" class="py-name"><a title="lxml.etree._Element.xpath
lxml.etree._ElementTree.xpath
-lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-950', 'xpath', 'link-924');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">'text()'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1407"></a><tt class="py-lineno">1407</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'x'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-951" class="py-name"><a title="lxml.html.HtmlMixin.text_content" class="py-name" href="#" onclick="return doclink('link-951', 'text_content', 'link-923');">text_content</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1408"></a><tt class="py-lineno">1408</tt> <tt class="py-line"> </tt>
-<a name="L1409"></a><tt class="py-lineno">1409</tt> <tt class="py-line"> <tt id="link-952" class="py-name"><a title="lxml.etree.QName.namespace
-lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-952', 'namespace', 'link-889');">namespace</a></tt> <tt class="py-op">=</tt> <tt id="link-953" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-953', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-954" class="py-name"><a title="lxml.etree.FunctionNamespace" class="py-name" href="#" onclick="return doclink('link-954', 'FunctionNamespace', 'link-891');">FunctionNamespace</a></tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1410"></a><tt class="py-lineno">1410</tt> <tt class="py-line"> <tt id="link-955" class="py-name"><a title="lxml.etree.QName.namespace
-lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-955', 'namespace', 'link-889');">namespace</a></tt><tt class="py-op">[</tt><tt class="py-string">'myext'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">extfunc</tt> </tt>
-<a name="L1411"></a><tt class="py-lineno">1411</tt> <tt class="py-line"> </tt>
-<a name="L1412"></a><tt class="py-lineno">1412</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L1413"></a><tt class="py-lineno">1413</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-956" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-956', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1414"></a><tt class="py-lineno">1414</tt> <tt class="py-line"> <tt id="link-957" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-957', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><B>BxC</B><B/></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1415"></a><tt class="py-lineno">1415</tt> <tt class="py-line"> </tt>
-<a name="L1416"></a><tt class="py-lineno">1416</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase"></a><div id="ETreeXSLTExtElementTestCase-def"><a name="L1417"></a><tt class="py-lineno">1417</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">HelperTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeXSLTExtElementTestCase-expanded"><a name="L1418"></a><tt class="py-lineno">1418</tt> <tt class="py-line"> <tt class="py-docstring">"""Tests for extension elements in XSLT."""</tt> </tt>
-<a name="L1419"></a><tt class="py-lineno">1419</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element-def"><a name="L1420"></a><tt class="py-lineno">1420</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element">test_extension_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element-expanded"><a name="L1421"></a><tt class="py-lineno">1421</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-958" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-955', 'xpath', 'link-929');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">'text()'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'x'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-956" class="py-name"><a title="lxml.html.HtmlMixin.text_content" class="py-name" href="#" onclick="return doclink('link-956', 'text_content', 'link-928');">text_content</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1427"></a><tt class="py-lineno">1427</tt> <tt class="py-line"> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt> <tt class="py-line"> <tt id="link-957" class="py-name"><a title="lxml.etree.QName.namespace
+lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-957', 'namespace', 'link-894');">namespace</a></tt> <tt class="py-op">=</tt> <tt id="link-958" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-958', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-959" class="py-name"><a title="lxml.etree.FunctionNamespace" class="py-name" href="#" onclick="return doclink('link-959', 'FunctionNamespace', 'link-896');">FunctionNamespace</a></tt><tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt> <tt class="py-line"> <tt id="link-960" class="py-name"><a title="lxml.etree.QName.namespace
+lxml.tests.selftest.namespace" class="py-name" href="#" onclick="return doclink('link-960', 'namespace', 'link-894');">namespace</a></tt><tt class="py-op">[</tt><tt class="py-string">'myext'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">extfunc</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt> <tt class="py-line"> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-961" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-961', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt> <tt class="py-line"> <tt id="link-962" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-962', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><B>BxC</B><B/></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1434"></a><tt class="py-lineno">1434</tt> <tt class="py-line"> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase"></a><div id="ETreeXSLTExtElementTestCase-def"><a name="L1436"></a><tt class="py-lineno">1436</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">HelperTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeXSLTExtElementTestCase-expanded"><a name="L1437"></a><tt class="py-lineno">1437</tt> <tt class="py-line"> <tt class="py-docstring">"""Tests for extension elements in XSLT."""</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element-def"><a name="L1439"></a><tt class="py-lineno">1439</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element">test_extension_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element-expanded"><a name="L1440"></a><tt class="py-lineno">1440</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-963" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-958', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1422"></a><tt class="py-lineno">1422</tt> <tt class="py-line"> <tt id="link-959" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-959', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-960" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-963', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt> <tt class="py-line"> <tt id="link-964" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-964', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-965" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-960', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1423"></a><tt class="py-lineno">1423</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1424"></a><tt class="py-lineno">1424</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1425"></a><tt class="py-lineno">1425</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1426"></a><tt class="py-lineno">1426</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
-<a name="L1427"></a><tt class="py-lineno">1427</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1428"></a><tt class="py-lineno">1428</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1429"></a><tt class="py-lineno">1429</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
-<a name="L1430"></a><tt class="py-lineno">1430</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1431"></a><tt class="py-lineno">1431</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1432"></a><tt class="py-lineno">1432</tt> <tt class="py-line"> </tt>
-<a name="L1433"></a><tt class="py-lineno">1433</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1434"></a><tt class="py-lineno">1434</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1435"></a><tt class="py-lineno">1435</tt> <tt class="py-line"> <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt id="link-961" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-965', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt> <tt class="py-line"> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt> <tt class="py-line"> <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt id="link-966" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-961', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-962" class="py-name" targets="Function lxml.etree.Element()=lxml.etree-module.html#Element,Function lxml.objectify.Element()=lxml.objectify-module.html#Element,Method lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element()=lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#Element,Class xml.etree.ElementTree.Element=xml.etree.ElementTree.Element-class.html"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-966', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-967" class="py-name" targets="Function lxml.etree.Element()=lxml.etree-module.html#Element,Function lxml.objectify.Element()=lxml.objectify-module.html#Element,Method lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element()=lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#Element,Class xml.etree.ElementTree.Element=xml.etree.ElementTree.Element-class.html"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-962', 'Element', 'link-962');">Element</a></tt><tt class="py-op">(</tt><tt class="py-name">self_node</tt><tt class="py-op">.</tt><tt id="link-963" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-967', 'Element', 'link-967');">Element</a></tt><tt class="py-op">(</tt><tt class="py-name">self_node</tt><tt class="py-op">.</tt><tt id="link-968" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-963', 'text', 'link-372');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1436"></a><tt class="py-lineno">1436</tt> <tt class="py-line"> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-964" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-968', 'text', 'link-375');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt> <tt class="py-line"> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-969" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-964', 'text', 'link-372');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X'</tt> </tt>
-<a name="L1437"></a><tt class="py-lineno">1437</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-965" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-965', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1438"></a><tt class="py-lineno">1438</tt> <tt class="py-line"> </tt>
-<a name="L1439"></a><tt class="py-lineno">1439</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1440"></a><tt class="py-lineno">1440</tt> <tt class="py-line"> </tt>
-<a name="L1441"></a><tt class="py-lineno">1441</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-966" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-966', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-967" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-967', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1442"></a><tt class="py-lineno">1442</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-968" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-968', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1443"></a><tt class="py-lineno">1443</tt> <tt class="py-line"> <tt id="link-969" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-969', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><b>X</b></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1444"></a><tt class="py-lineno">1444</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_doc_context"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_doc_context-def"><a name="L1445"></a><tt class="py-lineno">1445</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_doc_context-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_doc_context');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_doc_context">test_extension_element_doc_context</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_doc_context-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_doc_context-expanded"><a name="L1446"></a><tt class="py-lineno">1446</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-970" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-969', 'text', 'link-375');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X'</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-970" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-970', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1457"></a><tt class="py-lineno">1457</tt> <tt class="py-line"> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt> <tt class="py-line"> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-971" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-971', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-972" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-972', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-973" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-973', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt> <tt class="py-line"> <tt id="link-974" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-974', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><b>X</b></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1463"></a><tt class="py-lineno">1463</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_doc_context"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_doc_context-def"><a name="L1464"></a><tt class="py-lineno">1464</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_doc_context-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_doc_context');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_doc_context">test_extension_element_doc_context</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_doc_context-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_doc_context-expanded"><a name="L1465"></a><tt class="py-lineno">1465</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-975" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-970', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1447"></a><tt class="py-lineno">1447</tt> <tt class="py-line"> <tt id="link-971" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-971', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-972" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-975', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt> <tt class="py-line"> <tt id="link-976" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-976', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-977" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-972', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1448"></a><tt class="py-lineno">1448</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1449"></a><tt class="py-lineno">1449</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1450"></a><tt class="py-lineno">1450</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1451"></a><tt class="py-lineno">1451</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
-<a name="L1452"></a><tt class="py-lineno">1452</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1453"></a><tt class="py-lineno">1453</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1454"></a><tt class="py-lineno">1454</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
-<a name="L1455"></a><tt class="py-lineno">1455</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1456"></a><tt class="py-lineno">1456</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1457"></a><tt class="py-lineno">1457</tt> <tt class="py-line"> </tt>
-<a name="L1458"></a><tt class="py-lineno">1458</tt> <tt class="py-line"> <tt id="link-973" class="py-name" targets="Variable lxml.html.defs.tags=lxml.html.defs-module.html#tags"><a title="lxml.html.defs.tags" class="py-name" href="#" onclick="return doclink('link-973', 'tags', 'link-973');">tags</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1459"></a><tt class="py-lineno">1459</tt> <tt class="py-line"> </tt>
-<a name="L1460"></a><tt class="py-lineno">1460</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1461"></a><tt class="py-lineno">1461</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1462"></a><tt class="py-lineno">1462</tt> <tt class="py-line"> <tt id="link-974" class="py-name"><a title="lxml.html.defs.tags" class="py-name" href="#" onclick="return doclink('link-974', 'tags', 'link-973');">tags</a></tt><tt class="py-op">.</tt><tt id="link-975" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-975', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">input_node</tt><tt class="py-op">.</tt><tt id="link-976" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-977', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt> <tt class="py-line"> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt> <tt class="py-line"> <tt id="link-978" class="py-name" targets="Variable lxml.html.defs.tags=lxml.html.defs-module.html#tags"><a title="lxml.html.defs.tags" class="py-name" href="#" onclick="return doclink('link-978', 'tags', 'link-978');">tags</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt> <tt class="py-line"> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt> <tt class="py-line"> <tt id="link-979" class="py-name"><a title="lxml.html.defs.tags" class="py-name" href="#" onclick="return doclink('link-979', 'tags', 'link-978');">tags</a></tt><tt class="py-op">.</tt><tt id="link-980" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-980', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">input_node</tt><tt class="py-op">.</tt><tt id="link-981" class="py-name"><a title="lxml.etree._Comment.tag
lxml.etree._Element.tag
lxml.etree._Entity.tag
lxml.etree._ProcessingInstruction.tag
lxml.tests.test_xpathevaluator.tag
-xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-976', 'tag', 'link-368');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1463"></a><tt class="py-lineno">1463</tt> <tt class="py-line"> </tt>
-<a name="L1464"></a><tt class="py-lineno">1464</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1465"></a><tt class="py-lineno">1465</tt> <tt class="py-line"> </tt>
-<a name="L1466"></a><tt class="py-lineno">1466</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-977" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-977', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-978" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-978', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1467"></a><tt class="py-lineno">1467</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-979" class="py-name"><a title="lxml.html.defs.tags" class="py-name" href="#" onclick="return doclink('link-979', 'tags', 'link-973');">tags</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">'a'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1468"></a><tt class="py-lineno">1468</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context-def"><a name="L1469"></a><tt class="py-lineno">1469</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_comment_pi_context">test_extension_element_comment_pi_context</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context-expanded"><a name="L1470"></a><tt class="py-lineno">1470</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-980" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-981', 'tag', 'link-371');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1482"></a><tt class="py-lineno">1482</tt> <tt class="py-line"> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt> <tt class="py-line"> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-982" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-982', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-983" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-983', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-984" class="py-name"><a title="lxml.html.defs.tags" class="py-name" href="#" onclick="return doclink('link-984', 'tags', 'link-978');">tags</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">'a'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1487"></a><tt class="py-lineno">1487</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context-def"><a name="L1488"></a><tt class="py-lineno">1488</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_comment_pi_context">test_extension_element_comment_pi_context</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_comment_pi_context-expanded"><a name="L1489"></a><tt class="py-lineno">1489</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-985" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-980', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<?test toast?><a><!--a comment--><?another pi?></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1471"></a><tt class="py-lineno">1471</tt> <tt class="py-line"> <tt id="link-981" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-981', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-982" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-985', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<?test toast?><a><!--a comment--><?another pi?></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt> <tt class="py-line"> <tt id="link-986" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-986', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-987" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-982', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1472"></a><tt class="py-lineno">1472</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1473"></a><tt class="py-lineno">1473</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1474"></a><tt class="py-lineno">1474</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1475"></a><tt class="py-lineno">1475</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
-<a name="L1476"></a><tt class="py-lineno">1476</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1477"></a><tt class="py-lineno">1477</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1478"></a><tt class="py-lineno">1478</tt> <tt class="py-line"><tt class="py-string"> <ROOT><xsl:apply-templates /></ROOT></tt> </tt>
-<a name="L1479"></a><tt class="py-lineno">1479</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1480"></a><tt class="py-lineno">1480</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="comment()"></tt> </tt>
-<a name="L1481"></a><tt class="py-lineno">1481</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
-<a name="L1482"></a><tt class="py-lineno">1482</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1483"></a><tt class="py-lineno">1483</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="processing-instruction()"></tt> </tt>
-<a name="L1484"></a><tt class="py-lineno">1484</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
-<a name="L1485"></a><tt class="py-lineno">1485</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1486"></a><tt class="py-lineno">1486</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1487"></a><tt class="py-lineno">1487</tt> <tt class="py-line"> </tt>
-<a name="L1488"></a><tt class="py-lineno">1488</tt> <tt class="py-line"> <tt id="link-983" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-987', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt> <tt class="py-line"><tt class="py-string"> <ROOT><xsl:apply-templates /></ROOT></tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="comment()"></tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="processing-instruction()"></tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt> <tt class="py-line"> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt> <tt class="py-line"> <tt id="link-988" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-983', 'text', 'link-372');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1489"></a><tt class="py-lineno">1489</tt> <tt class="py-line"> </tt>
-<a name="L1490"></a><tt class="py-lineno">1490</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1491"></a><tt class="py-lineno">1491</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1492"></a><tt class="py-lineno">1492</tt> <tt class="py-line"> <tt id="link-984" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-988', 'text', 'link-375');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt> <tt class="py-line"> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt> <tt class="py-line"> <tt id="link-989" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-984', 'text', 'link-372');">text</a></tt><tt class="py-op">.</tt><tt id="link-985" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-985', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">input_node</tt><tt class="py-op">.</tt><tt id="link-986" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-989', 'text', 'link-375');">text</a></tt><tt class="py-op">.</tt><tt id="link-990" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-990', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">input_node</tt><tt class="py-op">.</tt><tt id="link-991" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-986', 'text', 'link-372');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1493"></a><tt class="py-lineno">1493</tt> <tt class="py-line"> </tt>
-<a name="L1494"></a><tt class="py-lineno">1494</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1495"></a><tt class="py-lineno">1495</tt> <tt class="py-line"> </tt>
-<a name="L1496"></a><tt class="py-lineno">1496</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-987" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-987', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-988" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-988', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1497"></a><tt class="py-lineno">1497</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-989" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-991', 'text', 'link-375');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1512"></a><tt class="py-lineno">1512</tt> <tt class="py-line"> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt> <tt class="py-line"> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-992" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-992', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-993" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-993', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-994" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-989', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">'toast'</tt><tt class="py-op">,</tt> <tt class="py-string">'a comment'</tt><tt class="py-op">,</tt> <tt class="py-string">'pi'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1498"></a><tt class="py-lineno">1498</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context"></a><div id="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context-def"><a name="L1499"></a><tt class="py-lineno">1499</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase._test_extension_element_attribute_context');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#_test_extension_element_attribute_context">_test_extension_element_attribute_context</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context-expanded"><a name="L1500"></a><tt class="py-lineno">1500</tt> <tt class="py-line"> <tt class="py-comment"># currently not supported</tt> </tt>
-<a name="L1501"></a><tt class="py-lineno">1501</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-990" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-994', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">'toast'</tt><tt class="py-op">,</tt> <tt class="py-string">'a comment'</tt><tt class="py-op">,</tt> <tt class="py-string">'pi'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1517"></a><tt class="py-lineno">1517</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context"></a><div id="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context-def"><a name="L1518"></a><tt class="py-lineno">1518</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase._test_extension_element_attribute_context');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#_test_extension_element_attribute_context">_test_extension_element_attribute_context</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase._test_extension_element_attribute_context-expanded"><a name="L1519"></a><tt class="py-lineno">1519</tt> <tt class="py-line"> <tt class="py-comment"># currently not supported</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-995" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-990', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a test="A"><b attr="B"/></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1502"></a><tt class="py-lineno">1502</tt> <tt class="py-line"> <tt id="link-991" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-991', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-992" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-995', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a test="A"><b attr="B"/></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt> <tt class="py-line"> <tt id="link-996" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-996', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-997" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-992', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1503"></a><tt class="py-lineno">1503</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1504"></a><tt class="py-lineno">1504</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1505"></a><tt class="py-lineno">1505</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1506"></a><tt class="py-lineno">1506</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
-<a name="L1507"></a><tt class="py-lineno">1507</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1508"></a><tt class="py-lineno">1508</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="@test"></tt> </tt>
-<a name="L1509"></a><tt class="py-lineno">1509</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
-<a name="L1510"></a><tt class="py-lineno">1510</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1511"></a><tt class="py-lineno">1511</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="@attr"></tt> </tt>
-<a name="L1512"></a><tt class="py-lineno">1512</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
-<a name="L1513"></a><tt class="py-lineno">1513</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1514"></a><tt class="py-lineno">1514</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1515"></a><tt class="py-lineno">1515</tt> <tt class="py-line"> </tt>
-<a name="L1516"></a><tt class="py-lineno">1516</tt> <tt class="py-line"> <tt id="link-993" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-997', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="@test"></tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="@attr"></tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt> <tt class="py-line"> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt> <tt class="py-line"> <tt id="link-998" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-993', 'text', 'link-372');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1517"></a><tt class="py-lineno">1517</tt> <tt class="py-line"> </tt>
-<a name="L1518"></a><tt class="py-lineno">1518</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1519"></a><tt class="py-lineno">1519</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">attr_value</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1520"></a><tt class="py-lineno">1520</tt> <tt class="py-line"> <tt id="link-994" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-998', 'text', 'link-375');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt> <tt class="py-line"> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">attr_value</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt> <tt class="py-line"> <tt id="link-999" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-994', 'text', 'link-372');">text</a></tt><tt class="py-op">.</tt><tt id="link-995" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-995', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">attr_value</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1521"></a><tt class="py-lineno">1521</tt> <tt class="py-line"> </tt>
-<a name="L1522"></a><tt class="py-lineno">1522</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1523"></a><tt class="py-lineno">1523</tt> <tt class="py-line"> </tt>
-<a name="L1524"></a><tt class="py-lineno">1524</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-996" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-996', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-997" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-997', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1525"></a><tt class="py-lineno">1525</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-998" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-999', 'text', 'link-375');">text</a></tt><tt class="py-op">.</tt><tt id="link-1000" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1000', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">attr_value</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1540"></a><tt class="py-lineno">1540</tt> <tt class="py-line"> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt> <tt class="py-line"> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1001" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1001', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1002" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1002', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1003" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-998', 'text', 'link-372');">text</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">'A'</tt><tt class="py-op">,</tt> <tt class="py-string">'B'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1526"></a><tt class="py-lineno">1526</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_content"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_content-def"><a name="L1527"></a><tt class="py-lineno">1527</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_content-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_content');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_content">test_extension_element_content</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_content-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_content-expanded"><a name="L1528"></a><tt class="py-lineno">1528</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-999" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1003', 'text', 'link-375');">text</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">'A'</tt><tt class="py-op">,</tt> <tt class="py-string">'B'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1545"></a><tt class="py-lineno">1545</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_content"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_content-def"><a name="L1546"></a><tt class="py-lineno">1546</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_content-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_content');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_content">test_extension_element_content</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_content-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_content-expanded"><a name="L1547"></a><tt class="py-lineno">1547</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1004" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-999', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1529"></a><tt class="py-lineno">1529</tt> <tt class="py-line"> <tt id="link-1000" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1000', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1001" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1004', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt> <tt class="py-line"> <tt id="link-1005" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1005', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1006" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1001', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1530"></a><tt class="py-lineno">1530</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1531"></a><tt class="py-lineno">1531</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1532"></a><tt class="py-lineno">1532</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1533"></a><tt class="py-lineno">1533</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1534"></a><tt class="py-lineno">1534</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1535"></a><tt class="py-lineno">1535</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
-<a name="L1536"></a><tt class="py-lineno">1536</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1537"></a><tt class="py-lineno">1537</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1538"></a><tt class="py-lineno">1538</tt> <tt class="py-line"> </tt>
-<a name="L1539"></a><tt class="py-lineno">1539</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1540"></a><tt class="py-lineno">1540</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1541"></a><tt class="py-lineno">1541</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1002" class="py-name" targets="Method lxml.etree._Element.extend()=lxml.etree._Element-class.html#extend"><a title="lxml.etree._Element.extend" class="py-name" href="#" onclick="return doclink('link-1002', 'extend', 'link-1002');">extend</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">self_node</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1542"></a><tt class="py-lineno">1542</tt> <tt class="py-line"> </tt>
-<a name="L1543"></a><tt class="py-lineno">1543</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1544"></a><tt class="py-lineno">1544</tt> <tt class="py-line"> </tt>
-<a name="L1545"></a><tt class="py-lineno">1545</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1003" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1003', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1004" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1004', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1546"></a><tt class="py-lineno">1546</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1005" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1005', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1547"></a><tt class="py-lineno">1547</tt> <tt class="py-line"> <tt id="link-1006" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1006', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><y>Y</y><z/></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1548"></a><tt class="py-lineno">1548</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates-def"><a name="L1549"></a><tt class="py-lineno">1549</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates">test_extension_element_apply_templates</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates-expanded"><a name="L1550"></a><tt class="py-lineno">1550</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1007" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1006', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt> <tt class="py-line"> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1007" class="py-name" targets="Method lxml.etree._Element.extend()=lxml.etree._Element-class.html#extend"><a title="lxml.etree._Element.extend" class="py-name" href="#" onclick="return doclink('link-1007', 'extend', 'link-1007');">extend</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">self_node</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1561"></a><tt class="py-lineno">1561</tt> <tt class="py-line"> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt> <tt class="py-line"> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1008" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1008', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1009" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1009', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1010" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1010', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt> <tt class="py-line"> <tt id="link-1011" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1011', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><y>Y</y><z/></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1567"></a><tt class="py-lineno">1567</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates-def"><a name="L1568"></a><tt class="py-lineno">1568</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates">test_extension_element_apply_templates</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates-expanded"><a name="L1569"></a><tt class="py-lineno">1569</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1012" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1007', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1551"></a><tt class="py-lineno">1551</tt> <tt class="py-line"> <tt id="link-1008" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1008', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1009" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1012', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt> <tt class="py-line"> <tt id="link-1013" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1013', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1014" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1009', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1552"></a><tt class="py-lineno">1552</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1553"></a><tt class="py-lineno">1553</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1554"></a><tt class="py-lineno">1554</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1555"></a><tt class="py-lineno">1555</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1556"></a><tt class="py-lineno">1556</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1557"></a><tt class="py-lineno">1557</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
-<a name="L1558"></a><tt class="py-lineno">1558</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1559"></a><tt class="py-lineno">1559</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x" /></tt> </tt>
-<a name="L1560"></a><tt class="py-lineno">1560</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z">XYZ</xsl:template></tt> </tt>
-<a name="L1561"></a><tt class="py-lineno">1561</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1562"></a><tt class="py-lineno">1562</tt> <tt class="py-line"> </tt>
-<a name="L1563"></a><tt class="py-lineno">1563</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1564"></a><tt class="py-lineno">1564</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1565"></a><tt class="py-lineno">1565</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
-<a name="L1566"></a><tt class="py-lineno">1566</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1010" class="py-name" targets="Method lxml.etree.XSLTExtension.apply_templates()=lxml.etree.XSLTExtension-class.html#apply_templates"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1010', 'apply_templates', 'link-1010');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1567"></a><tt class="py-lineno">1567</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-1011" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-1011', 'basestring', 'link-11');">basestring</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1568"></a><tt class="py-lineno">1568</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1012" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1012', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1013" class="py-name"><a title="lxml.etree.Element
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1014', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x" /></tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z">XYZ</xsl:template></tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt> <tt class="py-line"> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1015" class="py-name" targets="Method lxml.etree.XSLTExtension.apply_templates()=lxml.etree.XSLTExtension-class.html#apply_templates"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1015', 'apply_templates', 'link-1015');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-1016" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-1016', 'basestring', 'link-11');">basestring</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1017" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1017', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1018" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1013', 'Element', 'link-962');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"T"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1569"></a><tt class="py-lineno">1569</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-1014" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1018', 'Element', 'link-967');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"T"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-1019" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1014', 'text', 'link-372');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
-<a name="L1570"></a><tt class="py-lineno">1570</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1571"></a><tt class="py-lineno">1571</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
-<a name="L1572"></a><tt class="py-lineno">1572</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1015" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1015', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1573"></a><tt class="py-lineno">1573</tt> <tt class="py-line"> </tt>
-<a name="L1574"></a><tt class="py-lineno">1574</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1575"></a><tt class="py-lineno">1575</tt> <tt class="py-line"> </tt>
-<a name="L1576"></a><tt class="py-lineno">1576</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1016" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1016', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1017" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1017', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1577"></a><tt class="py-lineno">1577</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1018" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1018', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1578"></a><tt class="py-lineno">1578</tt> <tt class="py-line"> <tt id="link-1019" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1019', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><T>Y</T><T>XYZ</T></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1579"></a><tt class="py-lineno">1579</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only-def"><a name="L1580"></a><tt class="py-lineno">1580</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_elements_only">test_extension_element_apply_templates_elements_only</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only-expanded"><a name="L1581"></a><tt class="py-lineno">1581</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1020" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1019', 'text', 'link-375');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1020" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1020', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1592"></a><tt class="py-lineno">1592</tt> <tt class="py-line"> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt> <tt class="py-line"> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1021" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1021', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1022" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1022', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1023" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1023', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt> <tt class="py-line"> <tt id="link-1024" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1024', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><T>Y</T><T>XYZ</T></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1598"></a><tt class="py-lineno">1598</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only-def"><a name="L1599"></a><tt class="py-lineno">1599</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_elements_only">test_extension_element_apply_templates_elements_only</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_elements_only-expanded"><a name="L1600"></a><tt class="py-lineno">1600</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1025" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1020', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1582"></a><tt class="py-lineno">1582</tt> <tt class="py-line"> <tt id="link-1021" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1021', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1022" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1025', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt> <tt class="py-line"> <tt id="link-1026" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1026', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1027" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1022', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1583"></a><tt class="py-lineno">1583</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1584"></a><tt class="py-lineno">1584</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1585"></a><tt class="py-lineno">1585</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1586"></a><tt class="py-lineno">1586</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1587"></a><tt class="py-lineno">1587</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1588"></a><tt class="py-lineno">1588</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
-<a name="L1589"></a><tt class="py-lineno">1589</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1590"></a><tt class="py-lineno">1590</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x"><X/></xsl:template></tt> </tt>
-<a name="L1591"></a><tt class="py-lineno">1591</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z">XYZ</xsl:template></tt> </tt>
-<a name="L1592"></a><tt class="py-lineno">1592</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1593"></a><tt class="py-lineno">1593</tt> <tt class="py-line"> </tt>
-<a name="L1594"></a><tt class="py-lineno">1594</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1595"></a><tt class="py-lineno">1595</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1596"></a><tt class="py-lineno">1596</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
-<a name="L1597"></a><tt class="py-lineno">1597</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1023" class="py-name"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1023', 'apply_templates', 'link-1010');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">,</tt> </tt>
-<a name="L1598"></a><tt class="py-lineno">1598</tt> <tt class="py-line"> <tt class="py-name">elements_only</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1599"></a><tt class="py-lineno">1599</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-1024" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-1024', 'basestring', 'link-11');">basestring</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1600"></a><tt class="py-lineno">1600</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1025" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1025', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1601"></a><tt class="py-lineno">1601</tt> <tt class="py-line"> </tt>
-<a name="L1602"></a><tt class="py-lineno">1602</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1603"></a><tt class="py-lineno">1603</tt> <tt class="py-line"> </tt>
-<a name="L1604"></a><tt class="py-lineno">1604</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1026" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1026', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1027" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1027', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1605"></a><tt class="py-lineno">1605</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1028" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1028', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1606"></a><tt class="py-lineno">1606</tt> <tt class="py-line"> <tt id="link-1029" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1029', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><X/></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1607"></a><tt class="py-lineno">1607</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text-def"><a name="L1608"></a><tt class="py-lineno">1608</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_remove_blank_text">test_extension_element_apply_templates_remove_blank_text</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text-expanded"><a name="L1609"></a><tt class="py-lineno">1609</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1030" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1027', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x"><X/></xsl:template></tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z">XYZ</xsl:template></tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt> <tt class="py-line"> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1028" class="py-name"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1028', 'apply_templates', 'link-1015');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">,</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt> <tt class="py-line"> <tt class="py-name">elements_only</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-1029" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-1029', 'basestring', 'link-11');">basestring</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1030" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1030', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1620"></a><tt class="py-lineno">1620</tt> <tt class="py-line"> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt> <tt class="py-line"> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1031" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1031', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1032" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1032', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1033" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1033', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt> <tt class="py-line"> <tt id="link-1034" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1034', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><X/></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1626"></a><tt class="py-lineno">1626</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text-def"><a name="L1627"></a><tt class="py-lineno">1627</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_remove_blank_text">test_extension_element_apply_templates_remove_blank_text</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_remove_blank_text-expanded"><a name="L1628"></a><tt class="py-lineno">1628</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1035" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1030', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1610"></a><tt class="py-lineno">1610</tt> <tt class="py-line"> <tt id="link-1031" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1031', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1032" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1035', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt> <tt class="py-line"> <tt id="link-1036" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1036', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1037" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1032', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1611"></a><tt class="py-lineno">1611</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1612"></a><tt class="py-lineno">1612</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1613"></a><tt class="py-lineno">1613</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1614"></a><tt class="py-lineno">1614</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1615"></a><tt class="py-lineno">1615</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1616"></a><tt class="py-lineno">1616</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
-<a name="L1617"></a><tt class="py-lineno">1617</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1618"></a><tt class="py-lineno">1618</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x"><X/></xsl:template></tt> </tt>
-<a name="L1619"></a><tt class="py-lineno">1619</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="y"><xsl:text> </xsl:text></xsl:template></tt> </tt>
-<a name="L1620"></a><tt class="py-lineno">1620</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z">XYZ</xsl:template></tt> </tt>
-<a name="L1621"></a><tt class="py-lineno">1621</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1622"></a><tt class="py-lineno">1622</tt> <tt class="py-line"> </tt>
-<a name="L1623"></a><tt class="py-lineno">1623</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1624"></a><tt class="py-lineno">1624</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1625"></a><tt class="py-lineno">1625</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
-<a name="L1626"></a><tt class="py-lineno">1626</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1033" class="py-name"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1033', 'apply_templates', 'link-1010');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">,</tt> </tt>
-<a name="L1627"></a><tt class="py-lineno">1627</tt> <tt class="py-line"> <tt class="py-name">remove_blank_text</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1628"></a><tt class="py-lineno">1628</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-1034" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-1034', 'basestring', 'link-11');">basestring</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1629"></a><tt class="py-lineno">1629</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-1035" class="py-name"><a title="lxml.doctestcompare.strip" class="py-name" href="#" onclick="return doclink('link-1035', 'strip', 'link-221');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1630"></a><tt class="py-lineno">1630</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1036" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1036', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1037" class="py-name"><a title="lxml.etree.Element
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1037', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x"><X/></xsl:template></tt> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="y"><xsl:text> </xsl:text></xsl:template></tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z">XYZ</xsl:template></tt> </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt> <tt class="py-line"> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1643"></a><tt class="py-lineno">1643</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1644"></a><tt class="py-lineno">1644</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1038" class="py-name"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1038', 'apply_templates', 'link-1015');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">,</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt> <tt class="py-line"> <tt class="py-name">remove_blank_text</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-1039" class="py-name"><a title="lxml.html.clean.basestring" class="py-name" href="#" onclick="return doclink('link-1039', 'basestring', 'link-11');">basestring</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-1040" class="py-name"><a title="lxml.doctestcompare.strip" class="py-name" href="#" onclick="return doclink('link-1040', 'strip', 'link-224');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1041" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1041', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1042" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1037', 'Element', 'link-962');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"T"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1631"></a><tt class="py-lineno">1631</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-1038" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1042', 'Element', 'link-967');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"T"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt> <tt class="py-line"> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-1043" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1038', 'text', 'link-372');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
-<a name="L1632"></a><tt class="py-lineno">1632</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L1633"></a><tt class="py-lineno">1633</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
-<a name="L1634"></a><tt class="py-lineno">1634</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1039" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1039', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1635"></a><tt class="py-lineno">1635</tt> <tt class="py-line"> </tt>
-<a name="L1636"></a><tt class="py-lineno">1636</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1637"></a><tt class="py-lineno">1637</tt> <tt class="py-line"> </tt>
-<a name="L1638"></a><tt class="py-lineno">1638</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1040" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1040', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1041" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1041', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1639"></a><tt class="py-lineno">1639</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1042" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1042', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1640"></a><tt class="py-lineno">1640</tt> <tt class="py-line"> <tt id="link-1043" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1043', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><X/><T>XYZ</T></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1641"></a><tt class="py-lineno">1641</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node-def"><a name="L1642"></a><tt class="py-lineno">1642</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_target_node">test_extension_element_apply_templates_target_node</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node-expanded"><a name="L1643"></a><tt class="py-lineno">1643</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1044" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1043', 'text', 'link-375');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1044" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1044', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1654"></a><tt class="py-lineno">1654</tt> <tt class="py-line"> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt> <tt class="py-line"> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1045" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1045', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1046" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1046', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1047" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1047', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt> <tt class="py-line"> <tt id="link-1048" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1048', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><X/><T>XYZ</T></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1660"></a><tt class="py-lineno">1660</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node-def"><a name="L1661"></a><tt class="py-lineno">1661</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_target_node">test_extension_element_apply_templates_target_node</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node-expanded"><a name="L1662"></a><tt class="py-lineno">1662</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1049" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1044', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1644"></a><tt class="py-lineno">1644</tt> <tt class="py-line"> <tt id="link-1045" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1045', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1046" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1049', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt> <tt class="py-line"> <tt id="link-1050" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1050', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1051" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1046', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1645"></a><tt class="py-lineno">1645</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1646"></a><tt class="py-lineno">1646</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1647"></a><tt class="py-lineno">1647</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1648"></a><tt class="py-lineno">1648</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1649"></a><tt class="py-lineno">1649</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1650"></a><tt class="py-lineno">1650</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
-<a name="L1651"></a><tt class="py-lineno">1651</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1652"></a><tt class="py-lineno">1652</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x" /></tt> </tt>
-<a name="L1653"></a><tt class="py-lineno">1653</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z">XYZ</xsl:template></tt> </tt>
-<a name="L1654"></a><tt class="py-lineno">1654</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1655"></a><tt class="py-lineno">1655</tt> <tt class="py-line"> </tt>
-<a name="L1656"></a><tt class="py-lineno">1656</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1657"></a><tt class="py-lineno">1657</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1658"></a><tt class="py-lineno">1658</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
-<a name="L1659"></a><tt class="py-lineno">1659</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1047" class="py-name"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1047', 'apply_templates', 'link-1010');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">output_parent</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1660"></a><tt class="py-lineno">1660</tt> <tt class="py-line"> </tt>
-<a name="L1661"></a><tt class="py-lineno">1661</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1662"></a><tt class="py-lineno">1662</tt> <tt class="py-line"> </tt>
-<a name="L1663"></a><tt class="py-lineno">1663</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1048" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1048', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1049" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1049', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1664"></a><tt class="py-lineno">1664</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1050" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1050', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1665"></a><tt class="py-lineno">1665</tt> <tt class="py-line"> <tt id="link-1051" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1051', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>YXYZ</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1666"></a><tt class="py-lineno">1666</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc-def"><a name="L1667"></a><tt class="py-lineno">1667</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_target_node_doc">test_extension_element_apply_templates_target_node_doc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc-expanded"><a name="L1668"></a><tt class="py-lineno">1668</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1052" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1051', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><x>X</x><y>Y</y><z/></myns:myext></A></tt> </tt>
+<a name="L1670"></a><tt class="py-lineno">1670</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1671"></a><tt class="py-lineno">1671</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x" /></tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z">XYZ</xsl:template></tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt> <tt class="py-line"> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1052" class="py-name"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1052', 'apply_templates', 'link-1015');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">output_parent</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1679"></a><tt class="py-lineno">1679</tt> <tt class="py-line"> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt> <tt class="py-line"> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1053" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1053', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1054" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1054', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1055" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1055', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt> <tt class="py-line"> <tt id="link-1056" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1056', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A>YXYZ</A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1685"></a><tt class="py-lineno">1685</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc-def"><a name="L1686"></a><tt class="py-lineno">1686</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_apply_templates_target_node_doc">test_extension_element_apply_templates_target_node_doc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_apply_templates_target_node_doc-expanded"><a name="L1687"></a><tt class="py-lineno">1687</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1057" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1052', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1669"></a><tt class="py-lineno">1669</tt> <tt class="py-line"> <tt id="link-1053" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1053', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1054" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1057', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt> <tt class="py-line"> <tt id="link-1058" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1058', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1059" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1054', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1670"></a><tt class="py-lineno">1670</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1671"></a><tt class="py-lineno">1671</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1672"></a><tt class="py-lineno">1672</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1673"></a><tt class="py-lineno">1673</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1674"></a><tt class="py-lineno">1674</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1675"></a><tt class="py-lineno">1675</tt> <tt class="py-line"><tt class="py-string"> <myns:myext><x>X</x><y>Y</y><z/></myns:myext></tt> </tt>
-<a name="L1676"></a><tt class="py-lineno">1676</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1677"></a><tt class="py-lineno">1677</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x"><xsl:processing-instruction name="test">TEST</xsl:processing-instruction></xsl:template></tt> </tt>
-<a name="L1678"></a><tt class="py-lineno">1678</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="y"><Y>XYZ</Y></xsl:template></tt> </tt>
-<a name="L1679"></a><tt class="py-lineno">1679</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z"><xsl:comment>TEST</xsl:comment></xsl:template></tt> </tt>
-<a name="L1680"></a><tt class="py-lineno">1680</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1681"></a><tt class="py-lineno">1681</tt> <tt class="py-line"> </tt>
-<a name="L1682"></a><tt class="py-lineno">1682</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1683"></a><tt class="py-lineno">1683</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1684"></a><tt class="py-lineno">1684</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
-<a name="L1685"></a><tt class="py-lineno">1685</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1055" class="py-name"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1055', 'apply_templates', 'link-1010');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">output_parent</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1686"></a><tt class="py-lineno">1686</tt> <tt class="py-line"> </tt>
-<a name="L1687"></a><tt class="py-lineno">1687</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1688"></a><tt class="py-lineno">1688</tt> <tt class="py-line"> </tt>
-<a name="L1689"></a><tt class="py-lineno">1689</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1056" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1056', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1057" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1057', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1690"></a><tt class="py-lineno">1690</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1058" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1058', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1059" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1059', 'tostring', 'link-244');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1691"></a><tt class="py-lineno">1691</tt> <tt class="py-line"> <tt id="link-1060" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1060', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<?test TEST?><Y>XYZ</Y><!--TEST-->'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1692"></a><tt class="py-lineno">1692</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_process_children"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children-def"><a name="L1693"></a><tt class="py-lineno">1693</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_process_children-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_process_children');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children">test_extension_element_process_children</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children-expanded"><a name="L1694"></a><tt class="py-lineno">1694</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1061" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1059', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt> <tt class="py-line"><tt class="py-string"> <myns:myext><x>X</x><y>Y</y><z/></myns:myext></tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="x"><xsl:processing-instruction name="test">TEST</xsl:processing-instruction></xsl:template></tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="y"><Y>XYZ</Y></xsl:template></tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="z"><xsl:comment>TEST</xsl:comment></xsl:template></tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt> <tt class="py-line"> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self_node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1060" class="py-name"><a title="lxml.etree.XSLTExtension.apply_templates" class="py-name" href="#" onclick="return doclink('link-1060', 'apply_templates', 'link-1015');">apply_templates</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">output_parent</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1705"></a><tt class="py-lineno">1705</tt> <tt class="py-line"> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt> <tt class="py-line"> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1061" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1061', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1062" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1062', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1063" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1063', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1064" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1064', 'tostring', 'link-247');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1710"></a><tt class="py-lineno">1710</tt> <tt class="py-line"> <tt id="link-1065" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1065', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<?test TEST?><Y>XYZ</Y><!--TEST-->'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1711"></a><tt class="py-lineno">1711</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_process_children"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children-def"><a name="L1712"></a><tt class="py-lineno">1712</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_process_children-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_process_children');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children">test_extension_element_process_children</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children-expanded"><a name="L1713"></a><tt class="py-lineno">1713</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1066" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1061', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>E</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1695"></a><tt class="py-lineno">1695</tt> <tt class="py-line"> <tt id="link-1062" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1062', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1063" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1066', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>E</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt> <tt class="py-line"> <tt id="link-1067" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1067', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1068" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1063', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1696"></a><tt class="py-lineno">1696</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1697"></a><tt class="py-lineno">1697</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1698"></a><tt class="py-lineno">1698</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1699"></a><tt class="py-lineno">1699</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1700"></a><tt class="py-lineno">1700</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1701"></a><tt class="py-lineno">1701</tt> <tt class="py-line"><tt class="py-string"> <xsl:variable name="testvar">yo</xsl:variable></tt> </tt>
-<a name="L1702"></a><tt class="py-lineno">1702</tt> <tt class="py-line"><tt class="py-string"> <A></tt> </tt>
-<a name="L1703"></a><tt class="py-lineno">1703</tt> <tt class="py-line"><tt class="py-string"> <myns:myext></tt> </tt>
-<a name="L1704"></a><tt class="py-lineno">1704</tt> <tt class="py-line"><tt class="py-string"> <xsl:attribute name="attr"></tt> </tt>
-<a name="L1705"></a><tt class="py-lineno">1705</tt> <tt class="py-line"><tt class="py-string"> <xsl:value-of select="$testvar" /></tt> </tt>
-<a name="L1706"></a><tt class="py-lineno">1706</tt> <tt class="py-line"><tt class="py-string"> </xsl:attribute></tt> </tt>
-<a name="L1707"></a><tt class="py-lineno">1707</tt> <tt class="py-line"><tt class="py-string"> <B></tt> </tt>
-<a name="L1708"></a><tt class="py-lineno">1708</tt> <tt class="py-line"><tt class="py-string"> <xsl:choose></tt> </tt>
-<a name="L1709"></a><tt class="py-lineno">1709</tt> <tt class="py-line"><tt class="py-string"> <xsl:when test="1 = 2"><C/></xsl:when></tt> </tt>
-<a name="L1710"></a><tt class="py-lineno">1710</tt> <tt class="py-line"><tt class="py-string"> <xsl:otherwise><D><xsl:value-of select="b/text()" /></D></xsl:otherwise></tt> </tt>
-<a name="L1711"></a><tt class="py-lineno">1711</tt> <tt class="py-line"><tt class="py-string"> </xsl:choose></tt> </tt>
-<a name="L1712"></a><tt class="py-lineno">1712</tt> <tt class="py-line"><tt class="py-string"> </B></tt> </tt>
-<a name="L1713"></a><tt class="py-lineno">1713</tt> <tt class="py-line"><tt class="py-string"> </myns:myext></tt> </tt>
-<a name="L1714"></a><tt class="py-lineno">1714</tt> <tt class="py-line"><tt class="py-string"> </A></tt> </tt>
-<a name="L1715"></a><tt class="py-lineno">1715</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1716"></a><tt class="py-lineno">1716</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1717"></a><tt class="py-lineno">1717</tt> <tt class="py-line"> </tt>
-<a name="L1718"></a><tt class="py-lineno">1718</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1719"></a><tt class="py-lineno">1719</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1720"></a><tt class="py-lineno">1720</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1064" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1064', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1065" class="py-name"><a title="lxml.etree.Element
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1068', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt> <tt class="py-line"><tt class="py-string"> <xsl:variable name="testvar">yo</xsl:variable></tt> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt> <tt class="py-line"><tt class="py-string"> <A></tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt> <tt class="py-line"><tt class="py-string"> <myns:myext></tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt> <tt class="py-line"><tt class="py-string"> <xsl:attribute name="attr"></tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt> <tt class="py-line"><tt class="py-string"> <xsl:value-of select="$testvar" /></tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt> <tt class="py-line"><tt class="py-string"> </xsl:attribute></tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt> <tt class="py-line"><tt class="py-string"> <B></tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt> <tt class="py-line"><tt class="py-string"> <xsl:choose></tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt> <tt class="py-line"><tt class="py-string"> <xsl:when test="1 = 2"><C/></xsl:when></tt> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt> <tt class="py-line"><tt class="py-string"> <xsl:otherwise><D><xsl:value-of select="b/text()" /></D></xsl:otherwise></tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt> <tt class="py-line"><tt class="py-string"> </xsl:choose></tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt> <tt class="py-line"><tt class="py-string"> </B></tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt> <tt class="py-line"><tt class="py-string"> </myns:myext></tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt> <tt class="py-line"><tt class="py-string"> </A></tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt> <tt class="py-line"> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1069" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1069', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1070" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1065', 'Element', 'link-962');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'MY'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1721"></a><tt class="py-lineno">1721</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1066" class="py-name" targets="Method lxml.etree.XSLTExtension.process_children()=lxml.etree.XSLTExtension-class.html#process_children"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1066', 'process_children', 'link-1066');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L1722"></a><tt class="py-lineno">1722</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1067" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1067', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1723"></a><tt class="py-lineno">1723</tt> <tt class="py-line"> </tt>
-<a name="L1724"></a><tt class="py-lineno">1724</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1725"></a><tt class="py-lineno">1725</tt> <tt class="py-line"> </tt>
-<a name="L1726"></a><tt class="py-lineno">1726</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1068" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1068', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1069" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1069', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1727"></a><tt class="py-lineno">1727</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1070" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1070', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1728"></a><tt class="py-lineno">1728</tt> <tt class="py-line"> <tt id="link-1071" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1071', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><MYattr="yo"><B><D>E</D></B></MY></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1729"></a><tt class="py-lineno">1729</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only-def"><a name="L1730"></a><tt class="py-lineno">1730</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_to_append_only">test_extension_element_process_children_to_append_only</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only-expanded"><a name="L1731"></a><tt class="py-lineno">1731</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1072" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1070', 'Element', 'link-967');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'MY'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1071" class="py-name" targets="Method lxml.etree.XSLTExtension.process_children()=lxml.etree.XSLTExtension-class.html#process_children"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1071', 'process_children', 'link-1071');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1072" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1072', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1742"></a><tt class="py-lineno">1742</tt> <tt class="py-line"> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt> <tt class="py-line"> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1073" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1073', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1074" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1074', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1075" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1075', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt> <tt class="py-line"> <tt id="link-1076" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1076', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A><MYattr="yo"><B><D>E</D></B></MY></A>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1748"></a><tt class="py-lineno">1748</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only-def"><a name="L1749"></a><tt class="py-lineno">1749</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_to_append_only">test_extension_element_process_children_to_append_only</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_append_only-expanded"><a name="L1750"></a><tt class="py-lineno">1750</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1077" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1072', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1732"></a><tt class="py-lineno">1732</tt> <tt class="py-line"> <tt id="link-1073" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1073', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1074" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1077', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt> <tt class="py-line"> <tt id="link-1078" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1078', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1079" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1074', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1733"></a><tt class="py-lineno">1733</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1734"></a><tt class="py-lineno">1734</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1735"></a><tt class="py-lineno">1735</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1736"></a><tt class="py-lineno">1736</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1737"></a><tt class="py-lineno">1737</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1738"></a><tt class="py-lineno">1738</tt> <tt class="py-line"><tt class="py-string"> <myns:myext></tt> </tt>
-<a name="L1739"></a><tt class="py-lineno">1739</tt> <tt class="py-line"><tt class="py-string"> <A/></tt> </tt>
-<a name="L1740"></a><tt class="py-lineno">1740</tt> <tt class="py-line"><tt class="py-string"> </myns:myext></tt> </tt>
-<a name="L1741"></a><tt class="py-lineno">1741</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1742"></a><tt class="py-lineno">1742</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1743"></a><tt class="py-lineno">1743</tt> <tt class="py-line"> </tt>
-<a name="L1744"></a><tt class="py-lineno">1744</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1745"></a><tt class="py-lineno">1745</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1746"></a><tt class="py-lineno">1746</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1075" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1075', 'process_children', 'link-1066');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">output_parent</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1747"></a><tt class="py-lineno">1747</tt> <tt class="py-line"> </tt>
-<a name="L1748"></a><tt class="py-lineno">1748</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1749"></a><tt class="py-lineno">1749</tt> <tt class="py-line"> </tt>
-<a name="L1750"></a><tt class="py-lineno">1750</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1076" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1076', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1077" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1077', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1751"></a><tt class="py-lineno">1751</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1078" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1078', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1752"></a><tt class="py-lineno">1752</tt> <tt class="py-line"> <tt id="link-1079" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1079', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1753"></a><tt class="py-lineno">1753</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise-def"><a name="L1754"></a><tt class="py-lineno">1754</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_to_read_only_raise">test_extension_element_process_children_to_read_only_raise</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise-expanded"><a name="L1755"></a><tt class="py-lineno">1755</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1080" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1079', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt> <tt class="py-line"><tt class="py-string"> <myns:myext></tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt> <tt class="py-line"><tt class="py-string"> <A/></tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt> <tt class="py-line"><tt class="py-string"> </myns:myext></tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt> <tt class="py-line"> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1080" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1080', 'process_children', 'link-1071');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">output_parent</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1766"></a><tt class="py-lineno">1766</tt> <tt class="py-line"> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt> <tt class="py-line"> </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1081" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1081', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1082" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1082', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1083" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1083', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt> <tt class="py-line"> <tt id="link-1084" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1084', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<A/>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1772"></a><tt class="py-lineno">1772</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise-def"><a name="L1773"></a><tt class="py-lineno">1773</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_to_read_only_raise">test_extension_element_process_children_to_read_only_raise</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_to_read_only_raise-expanded"><a name="L1774"></a><tt class="py-lineno">1774</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1085" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1080', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1756"></a><tt class="py-lineno">1756</tt> <tt class="py-line"> <tt id="link-1081" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1081', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1082" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1085', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt> <tt class="py-line"> <tt id="link-1086" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1086', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1087" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1082', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1757"></a><tt class="py-lineno">1757</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1758"></a><tt class="py-lineno">1758</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1759"></a><tt class="py-lineno">1759</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1760"></a><tt class="py-lineno">1760</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1761"></a><tt class="py-lineno">1761</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1762"></a><tt class="py-lineno">1762</tt> <tt class="py-line"><tt class="py-string"> <myns:myext></tt> </tt>
-<a name="L1763"></a><tt class="py-lineno">1763</tt> <tt class="py-line"><tt class="py-string"> <A/></tt> </tt>
-<a name="L1764"></a><tt class="py-lineno">1764</tt> <tt class="py-line"><tt class="py-string"> </myns:myext></tt> </tt>
-<a name="L1765"></a><tt class="py-lineno">1765</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1766"></a><tt class="py-lineno">1766</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1767"></a><tt class="py-lineno">1767</tt> <tt class="py-line"> </tt>
-<a name="L1768"></a><tt class="py-lineno">1768</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1769"></a><tt class="py-lineno">1769</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1770"></a><tt class="py-lineno">1770</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1083" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1083', 'process_children', 'link-1066');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">self_node</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1771"></a><tt class="py-lineno">1771</tt> <tt class="py-line"> </tt>
-<a name="L1772"></a><tt class="py-lineno">1772</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1773"></a><tt class="py-lineno">1773</tt> <tt class="py-line"> </tt>
-<a name="L1774"></a><tt class="py-lineno">1774</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1084" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1084', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-1085" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1085', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1775"></a><tt class="py-lineno">1775</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element-def"><a name="L1776"></a><tt class="py-lineno">1776</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_with_subextension_element">test_extension_element_process_children_with_subextension_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element-expanded"><a name="L1777"></a><tt class="py-lineno">1777</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1086" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1087', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt> <tt class="py-line"><tt class="py-string"> <myns:myext></tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt> <tt class="py-line"><tt class="py-string"> <A/></tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt> <tt class="py-line"><tt class="py-string"> </myns:myext></tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt> <tt class="py-line"> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1088" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1088', 'process_children', 'link-1071');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">self_node</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1790"></a><tt class="py-lineno">1790</tt> <tt class="py-line"> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt> <tt class="py-line"> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1089" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1089', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-1090" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1090', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1794"></a><tt class="py-lineno">1794</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element-def"><a name="L1795"></a><tt class="py-lineno">1795</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_process_children_with_subextension_element">test_extension_element_process_children_with_subextension_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_process_children_with_subextension_element-expanded"><a name="L1796"></a><tt class="py-lineno">1796</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1091" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1086', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1778"></a><tt class="py-lineno">1778</tt> <tt class="py-line"> <tt id="link-1087" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1087', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1088" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1091', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a/>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt> <tt class="py-line"> <tt id="link-1092" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1092', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1093" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1088', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1779"></a><tt class="py-lineno">1779</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1780"></a><tt class="py-lineno">1780</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1781"></a><tt class="py-lineno">1781</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1782"></a><tt class="py-lineno">1782</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
-<a name="L1783"></a><tt class="py-lineno">1783</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1784"></a><tt class="py-lineno">1784</tt> <tt class="py-line"><tt class="py-string"> <myns:myext></tt> </tt>
-<a name="L1785"></a><tt class="py-lineno">1785</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><B/></myns:myext></A></tt> </tt>
-<a name="L1786"></a><tt class="py-lineno">1786</tt> <tt class="py-line"><tt class="py-string"> </myns:myext></tt> </tt>
-<a name="L1787"></a><tt class="py-lineno">1787</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1788"></a><tt class="py-lineno">1788</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1789"></a><tt class="py-lineno">1789</tt> <tt class="py-line"> </tt>
-<a name="L1790"></a><tt class="py-lineno">1790</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1791"></a><tt class="py-lineno">1791</tt> <tt class="py-line"> <tt class="py-name">callback_call_counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L1792"></a><tt class="py-lineno">1792</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1793"></a><tt class="py-lineno">1793</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">callback_call_counter</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L1794"></a><tt class="py-lineno">1794</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1089" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1089', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1090" class="py-name"><a title="lxml.etree.Element
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1093', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"></tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt> <tt class="py-line"><tt class="py-string"> <myns:myext></tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext><B/></myns:myext></A></tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt> <tt class="py-line"><tt class="py-string"> </myns:myext></tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt> <tt class="py-line"> </tt>
+<a name="L1809"></a><tt class="py-lineno">1809</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt> <tt class="py-line"> <tt class="py-name">callback_call_counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">callback_call_counter</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt> <tt class="py-line"> <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-1094" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1094', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1095" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1090', 'Element', 'link-962');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'MY'</tt><tt class="py-op">,</tt> <tt class="py-name">n</tt><tt class="py-op">=</tt><tt id="link-1091" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-1091', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">callback_call_counter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1795"></a><tt class="py-lineno">1795</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1092" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1092', 'process_children', 'link-1066');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L1796"></a><tt class="py-lineno">1796</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1093" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1093', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1797"></a><tt class="py-lineno">1797</tt> <tt class="py-line"> </tt>
-<a name="L1798"></a><tt class="py-lineno">1798</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1799"></a><tt class="py-lineno">1799</tt> <tt class="py-line"> </tt>
-<a name="L1800"></a><tt class="py-lineno">1800</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1094" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1094', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1095" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1095', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1801"></a><tt class="py-lineno">1801</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1096" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
-lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1096', '_rootstring', 'link-327');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1802"></a><tt class="py-lineno">1802</tt> <tt class="py-line"> <tt id="link-1097" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1097', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<MYn="1"><A><MYn="2"><B/></MY></A></MY>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1803"></a><tt class="py-lineno">1803</tt> <tt class="py-line"> </tt>
-<a name="ETreeXSLTExtElementTestCase.test_extension_element_raise"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_raise-def"><a name="L1804"></a><tt class="py-lineno">1804</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_raise-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_raise');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_raise">test_extension_element_raise</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_raise-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_raise-expanded"><a name="L1805"></a><tt class="py-lineno">1805</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1098" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1095', 'Element', 'link-967');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'MY'</tt><tt class="py-op">,</tt> <tt class="py-name">n</tt><tt class="py-op">=</tt><tt id="link-1096" class="py-name"><a title="str" class="py-name" href="#" onclick="return doclink('link-1096', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">callback_call_counter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1097" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1097', 'process_children', 'link-1071');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1098" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1098', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1816"></a><tt class="py-lineno">1816</tt> <tt class="py-line"> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt> <tt class="py-line"> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1099" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1099', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">(</tt><tt id="link-1100" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1100', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1820"></a><tt class="py-lineno">1820</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1101" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase._rootstring
+lxml.tests.test_elementtree._ETreeTestCaseBase._rootstring" class="py-name" href="#" onclick="return doclink('link-1101', '_rootstring', 'link-330');">_rootstring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt> <tt class="py-line"> <tt id="link-1102" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1102', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'<MYn="1"><A><MYn="2"><B/></MY></A></MY>'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1822"></a><tt class="py-lineno">1822</tt> <tt class="py-line"> </tt>
+<a name="ETreeXSLTExtElementTestCase.test_extension_element_raise"></a><div id="ETreeXSLTExtElementTestCase.test_extension_element_raise-def"><a name="L1823"></a><tt class="py-lineno">1823</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase.test_extension_element_raise-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase.test_extension_element_raise');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#test_extension_element_raise">test_extension_element_raise</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase.test_extension_element_raise-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase.test_extension_element_raise-expanded"><a name="L1824"></a><tt class="py-lineno">1824</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1103" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1098', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1806"></a><tt class="py-lineno">1806</tt> <tt class="py-line"> <tt id="link-1099" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1099', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1100" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1103', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt> <tt class="py-line"> <tt id="link-1104" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1104', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1105" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1100', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1807"></a><tt class="py-lineno">1807</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1808"></a><tt class="py-lineno">1808</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
-<a name="L1809"></a><tt class="py-lineno">1809</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
-<a name="L1810"></a><tt class="py-lineno">1810</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
-<a name="L1811"></a><tt class="py-lineno">1811</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
-<a name="L1812"></a><tt class="py-lineno">1812</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
-<a name="L1813"></a><tt class="py-lineno">1813</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
-<a name="L1814"></a><tt class="py-lineno">1814</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1815"></a><tt class="py-lineno">1815</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1816"></a><tt class="py-lineno">1816</tt> <tt class="py-line"> </tt>
-<a name="L1817"></a><tt class="py-lineno">1817</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyError</tt><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1818"></a><tt class="py-lineno">1818</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L1819"></a><tt class="py-lineno">1819</tt> <tt class="py-line"> </tt>
-<a name="L1820"></a><tt class="py-lineno">1820</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1821"></a><tt class="py-lineno">1821</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1822"></a><tt class="py-lineno">1822</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">MyError</tt><tt class="py-op">(</tt><tt class="py-string">"expected!"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1823"></a><tt class="py-lineno">1823</tt> <tt class="py-line"> </tt>
-<a name="L1824"></a><tt class="py-lineno">1824</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
-<a name="L1825"></a><tt class="py-lineno">1825</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">MyError</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1101" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1101', 'xslt', 'link-234');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-1102" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1102', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1826"></a><tt class="py-lineno">1826</tt> <tt class="py-line"> </tt>
-<a name="L1827"></a><tt class="py-lineno">1827</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: DISABLED - implementation seems to be broken</tt> </tt>
-<a name="L1828"></a><tt class="py-lineno">1828</tt> <tt class="py-line"> <tt class="py-comment"># if someone cares enough about this feature, I take pull requests that fix it.</tt> </tt>
-<a name="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent"></a><div id="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent-def"><a name="L1829"></a><tt class="py-lineno">1829</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#_test_multiple_extension_elements_with_output_parent">_test_multiple_extension_elements_with_output_parent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent-expanded"><a name="L1830"></a><tt class="py-lineno">1830</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1103" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1105', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"</tt> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt> <tt class="py-line"><tt class="py-string"> xmlns:myns="testns"</tt> </tt>
+<a name="L1829"></a><tt class="py-lineno">1829</tt> <tt class="py-line"><tt class="py-string"> extension-element-prefixes="myns"</tt> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt> <tt class="py-line"><tt class="py-string"> exclude-result-prefixes="myns"></tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="a"></tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt> <tt class="py-line"><tt class="py-string"> <A><myns:myext>b</myns:myext></A></tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt> <tt class="py-line"> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyError</tt><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L1838"></a><tt class="py-lineno">1838</tt> <tt class="py-line"> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">MyError</tt><tt class="py-op">(</tt><tt class="py-string">"expected!"</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1842"></a><tt class="py-lineno">1842</tt> <tt class="py-line"> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-op">(</tt><tt class="py-string">'testns'</tt><tt class="py-op">,</tt> <tt class="py-string">'myext'</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">MyExt</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">MyError</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1106" class="py-name"><a title="lxml.etree._ElementTree.xslt" class="py-name" href="#" onclick="return doclink('link-1106', 'xslt', 'link-237');">xslt</a></tt><tt class="py-op">,</tt> <tt id="link-1107" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1107', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1845"></a><tt class="py-lineno">1845</tt> <tt class="py-line"> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt> <tt class="py-line"> <tt class="py-comment"># FIXME: DISABLED - implementation seems to be broken</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt> <tt class="py-line"> <tt class="py-comment"># if someone cares enough about this feature, I take pull requests that fix it.</tt> </tt>
+<a name="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent"></a><div id="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent-def"><a name="L1848"></a><tt class="py-lineno">1848</tt> <a class="py-toggle" href="#" id="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent-toggle" onclick="return toggle('ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#_test_multiple_extension_elements_with_output_parent">_test_multiple_extension_elements_with_output_parent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXSLTExtElementTestCase._test_multiple_extension_elements_with_output_parent-expanded"><a name="L1849"></a><tt class="py-lineno">1849</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1108" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1103', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1831"></a><tt class="py-lineno">1831</tt> <tt class="py-line"><tt class="py-string"><text></tt> </tt>
-<a name="L1832"></a><tt class="py-lineno">1832</tt> <tt class="py-line"><tt class="py-string"> <par>This is <format>arbitrary</format> text in a paragraph</par></tt> </tt>
-<a name="L1833"></a><tt class="py-lineno">1833</tt> <tt class="py-line"><tt class="py-string"></text>"""</tt><tt class="py-op">)</tt> </tt>
-<a name="L1834"></a><tt class="py-lineno">1834</tt> <tt class="py-line"> <tt id="link-1104" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1104', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1105" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1108', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt> <tt class="py-line"><tt class="py-string"><text></tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt> <tt class="py-line"><tt class="py-string"> <par>This is <format>arbitrary</format> text in a paragraph</par></tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt> <tt class="py-line"><tt class="py-string"></text>"""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt> <tt class="py-line"> <tt id="link-1109" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1109', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1110" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1105', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
-<a name="L1835"></a><tt class="py-lineno">1835</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="my" extension-element-prefixes="my" version="1.0"></tt> </tt>
-<a name="L1836"></a><tt class="py-lineno">1836</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="par"></tt> </tt>
-<a name="L1837"></a><tt class="py-lineno">1837</tt> <tt class="py-line"><tt class="py-string"> <my:par><xsl:apply-templates /></my:par></tt> </tt>
-<a name="L1838"></a><tt class="py-lineno">1838</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1839"></a><tt class="py-lineno">1839</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="format"></tt> </tt>
-<a name="L1840"></a><tt class="py-lineno">1840</tt> <tt class="py-line"><tt class="py-string"> <my:format><xsl:apply-templates /></my:format></tt> </tt>
-<a name="L1841"></a><tt class="py-lineno">1841</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1842"></a><tt class="py-lineno">1842</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
-<a name="L1843"></a><tt class="py-lineno">1843</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt> </tt>
-<a name="L1844"></a><tt class="py-lineno">1844</tt> <tt class="py-line"> <tt class="py-name">test</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-<a name="L1845"></a><tt class="py-lineno">1845</tt> <tt class="py-line"> <tt class="py-name">calls</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1846"></a><tt class="py-lineno">1846</tt> <tt class="py-line"> </tt>
-<a name="L1847"></a><tt class="py-lineno">1847</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">ExtMyPar</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1848"></a><tt class="py-lineno">1848</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1849"></a><tt class="py-lineno">1849</tt> <tt class="py-line"> <tt class="py-name">calls</tt><tt class="py-op">.</tt><tt id="link-1106" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1106', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">'par'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1850"></a><tt class="py-lineno">1850</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt id="link-1107" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1107', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1108" class="py-name"><a title="lxml.etree.Element
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1110', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">"""\</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="my" extension-element-prefixes="my" version="1.0"></tt> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="par"></tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt> <tt class="py-line"><tt class="py-string"> <my:par><xsl:apply-templates /></my:par></tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="format"></tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt> <tt class="py-line"><tt class="py-string"> <my:format><xsl:apply-templates /></my:format></tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet></tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt> <tt class="py-line"><tt class="py-string">"""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt> <tt class="py-line"> <tt class="py-name">test</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt> <tt class="py-line"> <tt class="py-name">calls</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt> <tt class="py-line"> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">ExtMyPar</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt> <tt class="py-line"> <tt class="py-name">calls</tt><tt class="py-op">.</tt><tt id="link-1111" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1111', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">'par'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt id="link-1112" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1112', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1113" class="py-name"><a title="lxml.etree.Element
lxml.objectify.Element
lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
-xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1108', 'Element', 'link-962');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"p"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1851"></a><tt class="py-lineno">1851</tt> <tt class="py-line"> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt id="link-1109" class="py-name" targets="Variable lxml.etree._Element.attrib=lxml.etree._Element-class.html#attrib,Variable lxml.etree._ProcessingInstruction.attrib=lxml.etree._ProcessingInstruction-class.html#attrib,Function lxml.tests.selftest2.attrib()=lxml.tests.selftest2-module.html#attrib,Variable xml.etree.ElementTree.Element.attrib=xml.etree.ElementTree.Element-class.html#attrib"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1113', 'Element', 'link-967');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"p"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt> <tt class="py-line"> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt id="link-1114" class="py-name" targets="Variable lxml.etree._Element.attrib=lxml.etree._Element-class.html#attrib,Variable lxml.etree._ProcessingInstruction.attrib=lxml.etree._ProcessingInstruction-class.html#attrib,Function lxml.tests.selftest2.attrib()=lxml.tests.selftest2-module.html#attrib,Variable xml.etree.ElementTree.Element.attrib=xml.etree.ElementTree.Element-class.html#attrib"><a title="lxml.etree._Element.attrib
lxml.etree._ProcessingInstruction.attrib
lxml.tests.selftest2.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1109', 'attrib', 'link-1109');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"style"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"color:red"</tt> </tt>
-<a name="L1852"></a><tt class="py-lineno">1852</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1110" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1110', 'process_children', 'link-1066');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-<a name="L1853"></a><tt class="py-lineno">1853</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1111" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1111', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1854"></a><tt class="py-lineno">1854</tt> <tt class="py-line"> </tt>
-<a name="L1855"></a><tt class="py-lineno">1855</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">ExtMyFormat</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1856"></a><tt class="py-lineno">1856</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1857"></a><tt class="py-lineno">1857</tt> <tt class="py-line"> <tt class="py-name">calls</tt><tt class="py-op">.</tt><tt id="link-1112" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1112', 'append', 'link-597');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">'format'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1858"></a><tt class="py-lineno">1858</tt> <tt class="py-line"> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1113" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1113', 'process_children', 'link-1066');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-<a name="L1859"></a><tt class="py-lineno">1859</tt> <tt class="py-line"> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1860"></a><tt class="py-lineno">1860</tt> <tt class="py-line"> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'arbitrary'</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1861"></a><tt class="py-lineno">1861</tt> <tt class="py-line"> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'This is '</tt><tt class="py-op">,</tt> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1114" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1114', 'attrib', 'link-1114');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"style"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"color:red"</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1115" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1115', 'process_children', 'link-1071');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">,</tt> <tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1116" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1116', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">p</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1873"></a><tt class="py-lineno">1873</tt> <tt class="py-line"> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt> <tt class="py-line"> <tt class="py-keyword">class</tt> <tt class="py-def-name">ExtMyFormat</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">XSLTExtension</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">execute</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">context</tt><tt class="py-op">,</tt> <tt class="py-param">self_node</tt><tt class="py-op">,</tt> <tt class="py-param">input_node</tt><tt class="py-op">,</tt> <tt class="py-param">output_parent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1876"></a><tt class="py-lineno">1876</tt> <tt class="py-line"> <tt class="py-name">calls</tt><tt class="py-op">.</tt><tt id="link-1117" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1117', 'append', 'link-604');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">'format'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1877"></a><tt class="py-lineno">1877</tt> <tt class="py-line"> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1118" class="py-name"><a title="lxml.etree.XSLTExtension.process_children" class="py-name" href="#" onclick="return doclink('link-1118', 'process_children', 'link-1071');">process_children</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+<a name="L1878"></a><tt class="py-lineno">1878</tt> <tt class="py-line"> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt> <tt class="py-line"> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'arbitrary'</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt> <tt class="py-line"> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'This is '</tt><tt class="py-op">,</tt> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1119" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1114', 'text', 'link-372');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1862"></a><tt class="py-lineno">1862</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1115" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1119', 'text', 'link-375');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt> <tt class="py-line"> <tt class="py-name">output_parent</tt><tt class="py-op">.</tt><tt id="link-1120" class="py-name"><a title="lxml.etree.QName.text
lxml.etree._Element.text
lxml.etree._Entity.text
lxml.objectify.ObjectifiedElement.text
-xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1115', 'text', 'link-372');">text</a></tt> <tt class="py-op">+=</tt> <tt class="py-string">'*-%s-*'</tt> <tt class="py-op">%</tt> <tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-</div></div><a name="L1863"></a><tt class="py-lineno">1863</tt> <tt class="py-line"> </tt>
-<a name="L1864"></a><tt class="py-lineno">1864</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">(</tt><tt class="py-string">"my"</tt><tt class="py-op">,</tt> <tt class="py-string">"par"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">ExtMyPar</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"my"</tt><tt class="py-op">,</tt> <tt class="py-string">"format"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">ExtMyFormat</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">}</tt> </tt>
-<a name="L1865"></a><tt class="py-lineno">1865</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-1116" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1120', 'text', 'link-375');">text</a></tt> <tt class="py-op">+=</tt> <tt class="py-string">'*-%s-*'</tt> <tt class="py-op">%</tt> <tt class="py-name">content</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+</div></div><a name="L1882"></a><tt class="py-lineno">1882</tt> <tt class="py-line"> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt> <tt class="py-line"> <tt class="py-name">extensions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">(</tt><tt class="py-string">"my"</tt><tt class="py-op">,</tt> <tt class="py-string">"par"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">ExtMyPar</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"my"</tt><tt class="py-op">,</tt> <tt class="py-string">"format"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">ExtMyFormat</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">}</tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt> <tt class="py-line"> <tt class="py-name">transform</tt> <tt class="py-op">=</tt> <tt id="link-1121" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1116', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1117" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-1117', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-1118" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1118', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
-<a name="L1866"></a><tt class="py-lineno">1866</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L1867"></a><tt class="py-lineno">1867</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'par'</tt><tt class="py-op">,</tt> <tt class="py-string">'format'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">calls</tt><tt class="py-op">)</tt> </tt>
-<a name="L1868"></a><tt class="py-lineno">1868</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1869"></a><tt class="py-lineno">1869</tt> <tt class="py-line"> <tt class="py-string">b'<p style="color:red">This is *-arbitrary-* text in a paragraph</p>\n'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1870"></a><tt class="py-lineno">1870</tt> <tt class="py-line"> <tt id="link-1119" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1121', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1122" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-1122', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-1123" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1123', 'style', 'link-24');">style</a></tt><tt class="py-op">,</tt> <tt class="py-name">extensions</tt><tt class="py-op">=</tt><tt class="py-name">extensions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">transform</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'par'</tt><tt class="py-op">,</tt> <tt class="py-string">'format'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">calls</tt><tt class="py-op">)</tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt> <tt class="py-line"> <tt class="py-string">b'<p style="color:red">This is *-arbitrary-* text in a paragraph</p>\n'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt> <tt class="py-line"> <tt id="link-1124" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1119', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1120" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1120', 'tostring', 'link-244');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1871"></a><tt class="py-lineno">1871</tt> <tt class="py-line"> </tt>
-<a name="L1872"></a><tt class="py-lineno">1872</tt> <tt class="py-line"> </tt>
-<a name="Py3XSLTTestCase"></a><div id="Py3XSLTTestCase-def"><a name="L1873"></a><tt class="py-lineno">1873</tt> <a class="py-toggle" href="#" id="Py3XSLTTestCase-toggle" onclick="return toggle('Py3XSLTTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html">Py3XSLTTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">HelperTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Py3XSLTTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Py3XSLTTestCase-expanded"><a name="L1874"></a><tt class="py-lineno">1874</tt> <tt class="py-line"> <tt class="py-docstring">"""XSLT tests for etree under Python 3"""</tt> </tt>
-<a name="L1875"></a><tt class="py-lineno">1875</tt> <tt class="py-line"> </tt>
-<a name="L1876"></a><tt class="py-lineno">1876</tt> <tt class="py-line"> <tt id="link-1121" class="py-name" targets="Variable lxml.tests.test_css.CSSTestCase.pytestmark=lxml.tests.test_css.CSSTestCase-class.html#pytestmark,Variable lxml.tests.test_relaxng.RelaxNGCompactTestCase.pytestmark=lxml.tests.test_relaxng.RelaxNGCompactTestCase-class.html#pytestmark,Variable lxml.tests.test_xslt.Py3XSLTTestCase.pytestmark=lxml.tests.test_xslt.Py3XSLTTestCase-class.html#pytestmark"><a title="lxml.tests.test_css.CSSTestCase.pytestmark
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1124', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1125" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1125', 'tostring', 'link-247');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1890"></a><tt class="py-lineno">1890</tt> <tt class="py-line"> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt> <tt class="py-line"> </tt>
+<a name="Py3XSLTTestCase"></a><div id="Py3XSLTTestCase-def"><a name="L1892"></a><tt class="py-lineno">1892</tt> <a class="py-toggle" href="#" id="Py3XSLTTestCase-toggle" onclick="return toggle('Py3XSLTTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html">Py3XSLTTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">HelperTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Py3XSLTTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Py3XSLTTestCase-expanded"><a name="L1893"></a><tt class="py-lineno">1893</tt> <tt class="py-line"> <tt class="py-docstring">"""XSLT tests for etree under Python 3"""</tt> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt> <tt class="py-line"> </tt>
+<a name="L1895"></a><tt class="py-lineno">1895</tt> <tt class="py-line"> <tt id="link-1126" class="py-name" targets="Variable lxml.tests.test_css.CSSTestCase.pytestmark=lxml.tests.test_css.CSSTestCase-class.html#pytestmark,Variable lxml.tests.test_relaxng.RelaxNGCompactTestCase.pytestmark=lxml.tests.test_relaxng.RelaxNGCompactTestCase-class.html#pytestmark,Variable lxml.tests.test_xslt.Py3XSLTTestCase.pytestmark=lxml.tests.test_xslt.Py3XSLTTestCase-class.html#pytestmark"><a title="lxml.tests.test_css.CSSTestCase.pytestmark
lxml.tests.test_relaxng.RelaxNGCompactTestCase.pytestmark
-lxml.tests.test_xslt.Py3XSLTTestCase.pytestmark" class="py-name" href="#" onclick="return doclink('link-1121', 'pytestmark', 'link-1121');">pytestmark</a></tt> <tt class="py-op">=</tt> <tt id="link-1122" class="py-name"><a title="lxml.tests.common_imports.skipif" class="py-name" href="#" onclick="return doclink('link-1122', 'skipif', 'link-22');">skipif</a></tt><tt class="py-op">(</tt><tt class="py-string">'sys.version_info < (3,0)'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1877"></a><tt class="py-lineno">1877</tt> <tt class="py-line"> </tt>
-<a name="Py3XSLTTestCase.test_xslt_result_bytes"></a><div id="Py3XSLTTestCase.test_xslt_result_bytes-def"><a name="L1878"></a><tt class="py-lineno">1878</tt> <a class="py-toggle" href="#" id="Py3XSLTTestCase.test_xslt_result_bytes-toggle" onclick="return toggle('Py3XSLTTestCase.test_xslt_result_bytes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_bytes">test_xslt_result_bytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Py3XSLTTestCase.test_xslt_result_bytes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Py3XSLTTestCase.test_xslt_result_bytes-expanded"><a name="L1879"></a><tt class="py-lineno">1879</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1123" class="py-name"><a title="lxml.etree._ElementTree.parse
-lxml.etree.parse
-lxml.html.ElementSoup.parse
-lxml.html.html5parser.parse
-lxml.html.soupparser.parse
-lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1123', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1880"></a><tt class="py-lineno">1880</tt> <tt class="py-line"> <tt id="link-1124" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1124', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1125" class="py-name"><a title="lxml.etree._ElementTree.parse
-lxml.etree.parse
-lxml.html.ElementSoup.parse
-lxml.html.html5parser.parse
-lxml.html.soupparser.parse
-lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1125', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1881"></a><tt class="py-lineno">1881</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
-<a name="L1882"></a><tt class="py-lineno">1882</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
-<a name="L1883"></a><tt class="py-lineno">1883</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
-<a name="L1884"></a><tt class="py-lineno">1884</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
-<a name="L1885"></a><tt class="py-lineno">1885</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
-<a name="L1886"></a><tt class="py-lineno">1886</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
-<a name="L1887"></a><tt class="py-lineno">1887</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
-<a name="L1888"></a><tt class="py-lineno">1888</tt> <tt class="py-line"> </tt>
-<a name="L1889"></a><tt class="py-lineno">1889</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-1126" class="py-name"><a title="lxml.etree
-lxml.sax.ElementTreeContentHandler.etree
-lxml.tests.test_elementtree.CElementTreeTestCase.etree
-lxml.tests.test_elementtree._ETreeTestCaseBase.etree
-lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1126', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1127" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-1127', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-1128" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1128', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1890"></a><tt class="py-lineno">1890</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L1891"></a><tt class="py-lineno">1891</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1129" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1129', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L1892"></a><tt class="py-lineno">1892</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
-<a name="L1893"></a><tt class="py-lineno">1893</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
-<a name="L1894"></a><tt class="py-lineno">1894</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1895"></a><tt class="py-lineno">1895</tt> <tt class="py-line"> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1896"></a><tt class="py-lineno">1896</tt> <tt class="py-line"> </tt>
-<a name="Py3XSLTTestCase.test_xslt_result_bytearray"></a><div id="Py3XSLTTestCase.test_xslt_result_bytearray-def"><a name="L1897"></a><tt class="py-lineno">1897</tt> <a class="py-toggle" href="#" id="Py3XSLTTestCase.test_xslt_result_bytearray-toggle" onclick="return toggle('Py3XSLTTestCase.test_xslt_result_bytearray');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_bytearray">test_xslt_result_bytearray</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Py3XSLTTestCase.test_xslt_result_bytearray-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Py3XSLTTestCase.test_xslt_result_bytearray-expanded"><a name="L1898"></a><tt class="py-lineno">1898</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1130" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_xslt.Py3XSLTTestCase.pytestmark" class="py-name" href="#" onclick="return doclink('link-1126', 'pytestmark', 'link-1126');">pytestmark</a></tt> <tt class="py-op">=</tt> <tt id="link-1127" class="py-name"><a title="lxml.tests.common_imports.skipif" class="py-name" href="#" onclick="return doclink('link-1127', 'skipif', 'link-22');">skipif</a></tt><tt class="py-op">(</tt><tt class="py-string">'sys.version_info < (3,0)'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt> <tt class="py-line"> </tt>
+<a name="Py3XSLTTestCase.test_xslt_result_bytes"></a><div id="Py3XSLTTestCase.test_xslt_result_bytes-def"><a name="L1897"></a><tt class="py-lineno">1897</tt> <a class="py-toggle" href="#" id="Py3XSLTTestCase.test_xslt_result_bytes-toggle" onclick="return toggle('Py3XSLTTestCase.test_xslt_result_bytes');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_bytes">test_xslt_result_bytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Py3XSLTTestCase.test_xslt_result_bytes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Py3XSLTTestCase.test_xslt_result_bytes-expanded"><a name="L1898"></a><tt class="py-lineno">1898</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1128" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1130', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1899"></a><tt class="py-lineno">1899</tt> <tt class="py-line"> <tt id="link-1131" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1131', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1132" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1128', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt> <tt class="py-line"> <tt id="link-1129" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1129', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1130" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1132', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1130', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
<a name="L1900"></a><tt class="py-lineno">1900</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
<a name="L1901"></a><tt class="py-lineno">1901</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
<a name="L1902"></a><tt class="py-lineno">1902</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
<a name="L1905"></a><tt class="py-lineno">1905</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
<a name="L1906"></a><tt class="py-lineno">1906</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
<a name="L1907"></a><tt class="py-lineno">1907</tt> <tt class="py-line"> </tt>
-<a name="L1908"></a><tt class="py-lineno">1908</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-1133" class="py-name"><a title="lxml.etree
+<a name="L1908"></a><tt class="py-lineno">1908</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-1131" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1133', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1134" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-1134', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-1135" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1135', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1131', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1132" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-1132', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-1133" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1133', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
<a name="L1909"></a><tt class="py-lineno">1909</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L1910"></a><tt class="py-lineno">1910</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1136" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1136', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1134" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1134', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
<a name="L1911"></a><tt class="py-lineno">1911</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
<a name="L1912"></a><tt class="py-lineno">1912</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
<a name="L1913"></a><tt class="py-lineno">1913</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1914"></a><tt class="py-lineno">1914</tt> <tt class="py-line"> <tt class="py-name">bytearray</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt> <tt class="py-line"> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L1915"></a><tt class="py-lineno">1915</tt> <tt class="py-line"> </tt>
-<a name="Py3XSLTTestCase.test_xslt_result_memoryview"></a><div id="Py3XSLTTestCase.test_xslt_result_memoryview-def"><a name="L1916"></a><tt class="py-lineno">1916</tt> <a class="py-toggle" href="#" id="Py3XSLTTestCase.test_xslt_result_memoryview-toggle" onclick="return toggle('Py3XSLTTestCase.test_xslt_result_memoryview');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_memoryview">test_xslt_result_memoryview</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Py3XSLTTestCase.test_xslt_result_memoryview-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Py3XSLTTestCase.test_xslt_result_memoryview-expanded"><a name="L1917"></a><tt class="py-lineno">1917</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1137" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="Py3XSLTTestCase.test_xslt_result_bytearray"></a><div id="Py3XSLTTestCase.test_xslt_result_bytearray-def"><a name="L1916"></a><tt class="py-lineno">1916</tt> <a class="py-toggle" href="#" id="Py3XSLTTestCase.test_xslt_result_bytearray-toggle" onclick="return toggle('Py3XSLTTestCase.test_xslt_result_bytearray');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_bytearray">test_xslt_result_bytearray</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Py3XSLTTestCase.test_xslt_result_bytearray-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Py3XSLTTestCase.test_xslt_result_bytearray-expanded"><a name="L1917"></a><tt class="py-lineno">1917</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1135" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1137', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1918"></a><tt class="py-lineno">1918</tt> <tt class="py-line"> <tt id="link-1138" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1138', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1139" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1135', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt> <tt class="py-line"> <tt id="link-1136" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1136', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1137" class="py-name"><a title="lxml.etree._ElementTree.parse
lxml.etree.parse
lxml.html.ElementSoup.parse
lxml.html.html5parser.parse
lxml.html.soupparser.parse
lxml.objectify.parse
-lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1139', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1137', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
<a name="L1919"></a><tt class="py-lineno">1919</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
<a name="L1920"></a><tt class="py-lineno">1920</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
<a name="L1921"></a><tt class="py-lineno">1921</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
<a name="L1924"></a><tt class="py-lineno">1924</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
<a name="L1925"></a><tt class="py-lineno">1925</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
<a name="L1926"></a><tt class="py-lineno">1926</tt> <tt class="py-line"> </tt>
-<a name="L1927"></a><tt class="py-lineno">1927</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-1140" class="py-name"><a title="lxml.etree
+<a name="L1927"></a><tt class="py-lineno">1927</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-1138" class="py-name"><a title="lxml.etree
lxml.sax.ElementTreeContentHandler.etree
lxml.tests.test_elementtree.CElementTreeTestCase.etree
lxml.tests.test_elementtree._ETreeTestCaseBase.etree
lxml.tests.test_elementtree._XMLPullParserTest.etree
-lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1140', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1141" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
-lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-1141', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-1142" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1142', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1138', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1139" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-1139', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-1140" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1140', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
<a name="L1928"></a><tt class="py-lineno">1928</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L1929"></a><tt class="py-lineno">1929</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1143" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1143', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1141" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1141', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
<a name="L1930"></a><tt class="py-lineno">1930</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
<a name="L1931"></a><tt class="py-lineno">1931</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
<a name="L1932"></a><tt class="py-lineno">1932</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1933"></a><tt class="py-lineno">1933</tt> <tt class="py-line"> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">memoryview</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1934"></a><tt class="py-lineno">1934</tt> <tt class="py-line"> </tt>
-<a name="L1935"></a><tt class="py-lineno">1935</tt> <tt class="py-line"> </tt>
-<a name="test_suite"></a><div id="test_suite-def"><a name="L1936"></a><tt class="py-lineno">1936</tt> <a class="py-toggle" href="#" id="test_suite-toggle" onclick="return toggle('test_suite');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt-module.html#test_suite">test_suite</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="test_suite-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="test_suite-expanded"><a name="L1937"></a><tt class="py-lineno">1937</tt> <tt class="py-line"> <tt class="py-name">suite</tt> <tt class="py-op">=</tt> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestSuite</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1938"></a><tt class="py-lineno">1938</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1144" class="py-name" targets="Class lxml.tests.test_xslt.ETreeXSLTTestCase=lxml.tests.test_xslt.ETreeXSLTTestCase-class.html"><a title="lxml.tests.test_xslt.ETreeXSLTTestCase" class="py-name" href="#" onclick="return doclink('link-1144', 'ETreeXSLTTestCase', 'link-1144');">ETreeXSLTTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1939"></a><tt class="py-lineno">1939</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1145" class="py-name" targets="Class lxml.tests.test_xslt.ETreeEXSLTTestCase=lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html"><a title="lxml.tests.test_xslt.ETreeEXSLTTestCase" class="py-name" href="#" onclick="return doclink('link-1145', 'ETreeEXSLTTestCase', 'link-1145');">ETreeEXSLTTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1940"></a><tt class="py-lineno">1940</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1146" class="py-name" targets="Class lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase=lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html"><a title="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase" class="py-name" href="#" onclick="return doclink('link-1146', 'ETreeXSLTExtFuncTestCase', 'link-1146');">ETreeXSLTExtFuncTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1941"></a><tt class="py-lineno">1941</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1147" class="py-name" targets="Class lxml.tests.test_xslt.ETreeXSLTExtElementTestCase=lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html"><a title="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase" class="py-name" href="#" onclick="return doclink('link-1147', 'ETreeXSLTExtElementTestCase', 'link-1147');">ETreeXSLTExtElementTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1942"></a><tt class="py-lineno">1942</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-1148" class="py-name"><a title="lxml.tests.test_xslt.is_python3" class="py-name" href="#" onclick="return doclink('link-1148', 'is_python3', 'link-9');">is_python3</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L1943"></a><tt class="py-lineno">1943</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1149" class="py-name" targets="Class lxml.tests.test_xslt.Py3XSLTTestCase=lxml.tests.test_xslt.Py3XSLTTestCase-class.html"><a title="lxml.tests.test_xslt.Py3XSLTTestCase" class="py-name" href="#" onclick="return doclink('link-1149', 'Py3XSLTTestCase', 'link-1149');">Py3XSLTTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1944"></a><tt class="py-lineno">1944</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt> </tt>
-<a name="L1945"></a><tt class="py-lineno">1945</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt id="link-1150" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-1150', 'make_doctest', 'link-21');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/extensions.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1946"></a><tt class="py-lineno">1946</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt> </tt>
-<a name="L1947"></a><tt class="py-lineno">1947</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt id="link-1151" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-1151', 'make_doctest', 'link-21');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/xpathxslt.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1948"></a><tt class="py-lineno">1948</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
-</div><a name="L1949"></a><tt class="py-lineno">1949</tt> <tt class="py-line"> </tt>
-<a name="L1950"></a><tt class="py-lineno">1950</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
-<a name="L1951"></a><tt class="py-lineno">1951</tt> <tt class="py-line"> <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">'to test use test.py %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">__file__</tt><tt class="py-op">)</tt> </tt>
-<a name="L1952"></a><tt class="py-lineno">1952</tt> <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L1933"></a><tt class="py-lineno">1933</tt> <tt class="py-line"> <tt class="py-name">bytearray</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1934"></a><tt class="py-lineno">1934</tt> <tt class="py-line"> </tt>
+<a name="Py3XSLTTestCase.test_xslt_result_memoryview"></a><div id="Py3XSLTTestCase.test_xslt_result_memoryview-def"><a name="L1935"></a><tt class="py-lineno">1935</tt> <a class="py-toggle" href="#" id="Py3XSLTTestCase.test_xslt_result_memoryview-toggle" onclick="return toggle('Py3XSLTTestCase.test_xslt_result_memoryview');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt.Py3XSLTTestCase-class.html#test_xslt_result_memoryview">test_xslt_result_memoryview</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Py3XSLTTestCase.test_xslt_result_memoryview-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="Py3XSLTTestCase.test_xslt_result_memoryview-expanded"><a name="L1936"></a><tt class="py-lineno">1936</tt> <tt class="py-line"> <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1142" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree.parse
+lxml.html.ElementSoup.parse
+lxml.html.html5parser.parse
+lxml.html.soupparser.parse
+lxml.objectify.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1142', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'<a><b>B</b><c>C</c></a>'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt> <tt class="py-line"> <tt id="link-1143" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1143', 'style', 'link-24');">style</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1144" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.etree.parse
+lxml.html.ElementSoup.parse
+lxml.html.html5parser.parse
+lxml.html.soupparser.parse
+lxml.objectify.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1144', 'parse', 'link-23');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt> <tt class="py-line"><tt class="py-string"><xsl:stylesheet version="1.0"</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt> <tt class="py-line"><tt class="py-string"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></tt> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="*" /></tt> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt> <tt class="py-line"><tt class="py-string"> <xsl:template match="/"></tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt> <tt class="py-line"><tt class="py-string"> <foo><xsl:value-of select="/a/b/text()" /></foo></tt> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt> <tt class="py-line"><tt class="py-string"> </xsl:template></tt> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt> <tt class="py-line"><tt class="py-string"></xsl:stylesheet>'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt> <tt class="py-line"> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt> <tt class="py-line"> <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt id="link-1145" class="py-name"><a title="lxml.etree
+lxml.sax.ElementTreeContentHandler.etree
+lxml.tests.test_elementtree.CElementTreeTestCase.etree
+lxml.tests.test_elementtree._ETreeTestCaseBase.etree
+lxml.tests.test_elementtree._XMLPullParserTest.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1145', 'etree', 'link-15');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1146" class="py-name"><a title="lxml.etree.ErrorDomains.XSLT
+lxml.etree.XSLT" class="py-name" href="#" onclick="return doclink('link-1146', 'XSLT', 'link-27');">XSLT</a></tt><tt class="py-op">(</tt><tt id="link-1147" class="py-name"><a title="lxml.html.clean.Cleaner.style" class="py-name" href="#" onclick="return doclink('link-1147', 'style', 'link-24');">style</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1148" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1148', '_bytes', 'link-19');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt> <tt class="py-line"><tt class="py-string"><?xml version="1.0"?></tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt> <tt class="py-line"><tt class="py-string"><foo>B</foo></tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt> <tt class="py-line"><tt class="py-string">'''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt> <tt class="py-line"> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">memoryview</tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1953"></a><tt class="py-lineno">1953</tt> <tt class="py-line"> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt> <tt class="py-line"> </tt>
+<a name="test_suite"></a><div id="test_suite-def"><a name="L1955"></a><tt class="py-lineno">1955</tt> <a class="py-toggle" href="#" id="test_suite-toggle" onclick="return toggle('test_suite');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_xslt-module.html#test_suite">test_suite</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="test_suite-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="test_suite-expanded"><a name="L1956"></a><tt class="py-lineno">1956</tt> <tt class="py-line"> <tt class="py-name">suite</tt> <tt class="py-op">=</tt> <tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">TestSuite</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1149" class="py-name" targets="Class lxml.tests.test_xslt.ETreeXSLTTestCase=lxml.tests.test_xslt.ETreeXSLTTestCase-class.html"><a title="lxml.tests.test_xslt.ETreeXSLTTestCase" class="py-name" href="#" onclick="return doclink('link-1149', 'ETreeXSLTTestCase', 'link-1149');">ETreeXSLTTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1150" class="py-name" targets="Class lxml.tests.test_xslt.ETreeEXSLTTestCase=lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html"><a title="lxml.tests.test_xslt.ETreeEXSLTTestCase" class="py-name" href="#" onclick="return doclink('link-1150', 'ETreeEXSLTTestCase', 'link-1150');">ETreeEXSLTTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1151" class="py-name" targets="Class lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase=lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html"><a title="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase" class="py-name" href="#" onclick="return doclink('link-1151', 'ETreeXSLTExtFuncTestCase', 'link-1151');">ETreeXSLTExtFuncTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1152" class="py-name" targets="Class lxml.tests.test_xslt.ETreeXSLTExtElementTestCase=lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html"><a title="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase" class="py-name" href="#" onclick="return doclink('link-1152', 'ETreeXSLTExtElementTestCase', 'link-1152');">ETreeXSLTExtElementTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-1153" class="py-name"><a title="lxml.tests.test_xslt.is_python3" class="py-name" href="#" onclick="return doclink('link-1153', 'is_python3', 'link-9');">is_python3</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-1154" class="py-name" targets="Class lxml.tests.test_xslt.Py3XSLTTestCase=lxml.tests.test_xslt.Py3XSLTTestCase-class.html"><a title="lxml.tests.test_xslt.Py3XSLTTestCase" class="py-name" href="#" onclick="return doclink('link-1154', 'Py3XSLTTestCase', 'link-1154');">Py3XSLTTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt id="link-1155" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-1155', 'make_doctest', 'link-21');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/extensions.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt> <tt class="py-line"> <tt class="py-name">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt> <tt class="py-line"> <tt class="py-op">[</tt><tt id="link-1156" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-1156', 'make_doctest', 'link-21');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/xpathxslt.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
+</div><a name="L1968"></a><tt class="py-lineno">1968</tt> <tt class="py-line"> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt> <tt class="py-line"> <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">'to test use test.py %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">__file__</tt><tt class="py-op">)</tt> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:09 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:26 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:23 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
- <a href="xml.etree.ElementTree-module.html#_serialize" class="summary-name" onclick="show_private();">_serialize</a> = <code title="{'html': <function _serialize_html at 0x2ad9e91dae60>,
- 'text': <function _serialize_text at 0x2ad9e91daed8>,
- 'xml': <function _serialize_xml at 0x2ad9e91dade8>}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">html</code><code class="variable-quote">'</code><code class="variable-op">: </code><function _serialize_html at 0x2ad9e91da<code class="variable-ellipsis">...</code></code>
+ <a href="xml.etree.ElementTree-module.html#_serialize" class="summary-name" onclick="show_private();">_serialize</a> = <code title="{'html': <function _serialize_html at 0x2b8b5eddce60>,
+ 'text': <function _serialize_text at 0x2b8b5eddced8>,
+ 'xml': <function _serialize_xml at 0x2b8b5eddcde8>}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">html</code><code class="variable-quote">'</code><code class="variable-op">: </code><function _serialize_html at 0x2b8b5eddc<code class="variable-ellipsis">...</code></code>
</td>
</tr>
</table>
<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">html</code><code class="variable-quote">'</code><code class="variable-op">: </code><function _serialize_html at 0x2ad9e91dae60><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">text</code><code class="variable-quote">'</code><code class="variable-op">: </code><function _serialize_text at 0x2ad9e91daed8><code class="variable-op">,</code>
- <code class="variable-quote">'</code><code class="variable-string">xml</code><code class="variable-quote">'</code><code class="variable-op">: </code><function _serialize_xml at 0x2ad9e91dade8><code class="variable-group">}</code>
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">html</code><code class="variable-quote">'</code><code class="variable-op">: </code><function _serialize_html at 0x2b8b5eddce60><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">text</code><code class="variable-quote">'</code><code class="variable-op">: </code><function _serialize_text at 0x2b8b5eddced8><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">xml</code><code class="variable-quote">'</code><code class="variable-op">: </code><function _serialize_xml at 0x2b8b5eddcde8><code class="variable-group">}</code>
</pre></td></tr></table>
</dd>
</dl>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:24 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:04 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:28 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:07 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Thu Mar 17 15:04:25 2016
+ Generated by Epydoc 3.0.1 on Sun Jul 24 10:56:05 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>How to build lxml from source</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="how-to-build-lxml-from-source">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu current" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">How to build lxml from source</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu current" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">How to build lxml from source</h1>
<p>To build lxml from source, you need libxml2 and libxslt properly
installed, <em>including the header files</em>. These are likely shipped in
</div>
<div class="section" id="building-an-egg-or-wheel">
<h1>Building an egg or wheel</h1>
-<p>This is the procedure to make an lxml egg or <a class="reference external" href="http://wheel.readthedocs.org/en/latest/">wheel</a> for your platform.
+<p>This is the procedure to make an lxml egg or <a class="reference external" href="https://wheel.readthedocs.io/en/latest/">wheel</a> for your platform.
It assumes that you have <tt class="docutils literal">setuptools</tt> or <tt class="docutils literal">distribute</tt> installed, as well
as the <tt class="docutils literal">wheel</tt> package.</p>
<p>First, download the lxml-x.y.tar.gz release. This contains the pregenerated
increase the debian version number so apt/dpkg won't get confused</li>
<li>run <tt class="docutils literal"><span class="pre">dpkg-buildpackage</span> <span class="pre">-rfakeroot</span> <span class="pre">-us</span> <span class="pre">-uc</span></tt> to build the package</li>
</ul>
-<p>In case <tt class="docutils literal"><span class="pre">dpkg-buildpackage</span></tt> tells you that some dependecies are missing, you
+<p>In case <tt class="docutils literal"><span class="pre">dpkg-buildpackage</span></tt> tells you that some dependencies are missing, you
can either install them manually or run <tt class="docutils literal"><span class="pre">apt-get</span> <span class="pre">build-dep</span> lxml</tt>.</p>
<p>That will give you .deb packages in the parent directory which can be
installed using <tt class="docutils literal">dpkg <span class="pre">-i</span></tt>.</p>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>The public C-API of lxml.etree</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="the-public-c-api-of-lxml-etree">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu current" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">The public C-API of lxml.etree</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu current" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">The public C-API of lxml.etree</h1>
<p>As of version 1.1, lxml.etree provides a public C-API. This allows external
C extensions to efficiently access public functions and classes of lxml,
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<h1 class="title">lxml changelog</h1>
<div class="section" id="id1">
+<h1>3.6.1 (2016-07-24)</h1>
+<div class="section" id="features-added">
+<h2>Features added</h2>
+<ul class="simple">
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/180">GH#180</a>: Separate option <tt class="docutils literal">inline_style</tt> for Cleaner that only removes <tt class="docutils literal">style</tt>
+attributes instead of all styles. Patch by Christian Pedersen.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/196">GH#196</a>: Windows build support for Python 3.5. Contribution by Maximilian Hils.</li>
+</ul>
+</div>
+<div class="section" id="bugs-fixed">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/199">GH#199</a>: Exclude <tt class="docutils literal">file</tt> fields from <tt class="docutils literal">FormElement.form_values</tt> (as browsers do).
+Patch by Tomas Divis.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/198">GH#198</a>, <a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1568167">LP#1568167</a>: Try to provide base URL from <tt class="docutils literal">Resolver.resolve_string()</tt>.
+Patch by Michael van Tellingen.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/191">GH#191</a>: More accurate float serialisation in <tt class="docutils literal">objectify.FloatElement</tt>.
+Patch by Holger Joukl.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1551797">LP#1551797</a>: Repair XSLT error logging. Patch by Marcus Brinkmann.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id2">
<h1>3.6.0 (2016-03-17)</h1>
+<div class="section" id="id3">
+<h2>Features added</h2>
<ul class="simple">
-<li><a class="reference external" href="https://github.com/lxml/lxml/issues/189">GH#189</a>: Static builds honour FTP proxy configurations when downloading
-the external libs. Patch by Youhei Sakurai.</li>
<li><a class="reference external" href="https://github.com/lxml/lxml/issues/187">GH#187</a>: Now supports (only) version 5.x and later of PyPy.
Patch by Armin Rigo.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/181">GH#181</a>: Direct support for <tt class="docutils literal">.rnc</tt> files in <cite>RelaxNG()</cite> if <tt class="docutils literal">rnc2rng</tt>
+is installed. Patch by Dirkjan Ochtman.</li>
+</ul>
+</div>
+<div class="section" id="id4">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/189">GH#189</a>: Static builds honour FTP proxy configurations when downloading
+the external libs. Patch by Youhei Sakurai.</li>
<li><a class="reference external" href="https://github.com/lxml/lxml/issues/186">GH#186</a>: Soupparser failed to process entities in Python 3.x.
Patch by Duncan Morris.</li>
-<li><a class="reference external" href="https://github.com/lxml/lxml/issues/185">GH#185</a>: Rare encoding related <cite>TypeError</cite> on import was fixed.
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/185">GH#185</a>: Rare encoding related <tt class="docutils literal">TypeError</tt> on import was fixed.
Patch by Petr Demin.</li>
-<li><a class="reference external" href="https://github.com/lxml/lxml/issues/181">GH#181</a>: Direct support for <cite>.rnc</cite> files in <cite>RelaxNG()</cite> if <cite>rnc2rng</cite>
-is installed. Patch by Dirkjan Ochtman.</li>
</ul>
</div>
-<div class="section" id="id2">
+</div>
+<div class="section" id="id5">
<h1>3.5.0 (2015-11-13)</h1>
-<div class="section" id="bugs-fixed">
+<div class="section" id="id6">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Unicode string results failed XPath queries in PyPy.</li>
</div>
<div class="section" id="b1-2015-09-18">
<h1>3.5.0b1 (2015-09-18)</h1>
-<div class="section" id="features-added">
+<div class="section" id="id7">
<h2>Features added</h2>
<ul class="simple">
<li><tt class="docutils literal">cleanup_namespaces()</tt> accepts a new argument <tt class="docutils literal">keep_ns_prefixes</tt>
of version 3 if available.</li>
</ul>
</div>
-<div class="section" id="id3">
+<div class="section" id="id8">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Memory errors that occur during tree adaptations (e.g. moving subtrees
</ul>
</div>
</div>
-<div class="section" id="id4">
+<div class="section" id="id9">
<h1>3.4.4 (2015-04-25)</h1>
-<div class="section" id="id5">
+<div class="section" id="id10">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>An ElementTree compatibility test added in lxml 3.4.3 that failed in
</ul>
</div>
</div>
-<div class="section" id="id6">
+<div class="section" id="id11">
<h1>3.4.3 (2015-04-15)</h1>
-<div class="section" id="id7">
+<div class="section" id="id12">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Expression cache in ElementPath was ignored. Fix by Changaco.</li>
</ul>
</div>
</div>
-<div class="section" id="id8">
+<div class="section" id="id13">
<h1>3.4.2 (2015-02-07)</h1>
-<div class="section" id="id9">
+<div class="section" id="id14">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1415907">LP#1415907</a>: Crash when creating an XMLSchema from a non-root element
</ul>
</div>
</div>
-<div class="section" id="id10">
+<div class="section" id="id15">
<h1>3.4.1 (2014-11-20)</h1>
-<div class="section" id="id11">
+<div class="section" id="id16">
<h2>Features added</h2>
<ul class="simple">
<li>New <tt class="docutils literal">htmlfile</tt> HTML generator to accompany the incremental <tt class="docutils literal">xmlfile</tt>
serialisation API. Patch by Burak Arslan.</li>
</ul>
</div>
-<div class="section" id="id12">
+<div class="section" id="id17">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><tt class="docutils literal">lxml.sax.ElementTreeContentHandler</tt> did not initialise its superclass.</li>
</ul>
</div>
</div>
-<div class="section" id="id13">
+<div class="section" id="id18">
<h1>3.4.0 (2014-09-10)</h1>
-<div class="section" id="id14">
+<div class="section" id="id19">
<h2>Features added</h2>
<ul class="simple">
<li><tt class="docutils literal">xmlfile(buffered=False)</tt> disables output buffering and flushes the
<li>Allow "bytearray" type for ASCII text input.</li>
</ul>
</div>
-<div class="section" id="id15">
+<div class="section" id="id20">
<h2>Bugs fixed</h2>
</div>
<div class="section" id="other-changes">
</ul>
</div>
</div>
-<div class="section" id="id16">
+<div class="section" id="id21">
<h1>3.3.6 (2014-08-28)</h1>
-<div class="section" id="id17">
+<div class="section" id="id22">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Prevent tree cycle creation when adding Elements as siblings.</li>
</ul>
</div>
</div>
-<div class="section" id="id18">
+<div class="section" id="id23">
<h1>3.3.5 (2014-04-18)</h1>
-<div class="section" id="id19">
+<div class="section" id="id24">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>HTML cleaning could fail to strip javascript links that mix control
</ul>
</div>
</div>
-<div class="section" id="id20">
+<div class="section" id="id25">
<h1>3.3.4 (2014-04-03)</h1>
-<div class="section" id="id21">
+<div class="section" id="id26">
<h2>Features added</h2>
<ul class="simple">
<li>Source line numbers above 65535 are available on Elements when
using libxml2 2.9 or later.</li>
</ul>
</div>
-<div class="section" id="id22">
+<div class="section" id="id27">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><tt class="docutils literal">lxml.html.fragment_fromstring()</tt> failed for bytes input in Py3.</li>
</ul>
</div>
-<div class="section" id="id23">
+<div class="section" id="id28">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id24">
+<div class="section" id="id29">
<h1>3.3.3 (2014-03-04)</h1>
-<div class="section" id="id25">
+<div class="section" id="id30">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1287118">LP#1287118</a>: Crash when using Element subtypes with <tt class="docutils literal">__slots__</tt>.</li>
</ul>
</div>
-<div class="section" id="id26">
+<div class="section" id="id31">
<h2>Other changes</h2>
<ul class="simple">
<li>The internal classes <tt class="docutils literal">_LogEntry</tt> and <tt class="docutils literal">_Attrib</tt> can no longer be
</ul>
</div>
</div>
-<div class="section" id="id27">
+<div class="section" id="id32">
<h1>3.3.2 (2014-02-26)</h1>
-<div class="section" id="id28">
+<div class="section" id="id33">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>The properties <tt class="docutils literal">resolvers</tt> and <tt class="docutils literal">version</tt>, as well as the methods
</ul>
</div>
</div>
-<div class="section" id="id29">
+<div class="section" id="id34">
<h1>3.3.1 (2014-02-12)</h1>
-<div class="section" id="id30">
+<div class="section" id="id35">
<h2>Features added</h2>
</div>
-<div class="section" id="id31">
+<div class="section" id="id36">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1014290">LP#1014290</a>: HTML documents parsed with <tt class="docutils literal">parser.feed()</tt> failed to find
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1274118">LP#1274118</a>: iterparse() failed to parse BOM prefixed files.</li>
</ul>
</div>
-<div class="section" id="id32">
+<div class="section" id="id37">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id33">
+<div class="section" id="id38">
<h1>3.3.0 (2014-01-26)</h1>
-<div class="section" id="id34">
+<div class="section" id="id39">
<h2>Features added</h2>
</div>
-<div class="section" id="id35">
+<div class="section" id="id40">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>The heuristic that distinguishes file paths from URLs was tightened
to produce less false negatives.</li>
</ul>
</div>
-<div class="section" id="id36">
+<div class="section" id="id41">
<h2>Other changes</h2>
</div>
</div>
<div class="section" id="beta5-2014-01-18">
<h1>3.3.0beta5 (2014-01-18)</h1>
-<div class="section" id="id37">
+<div class="section" id="id42">
<h2>Features added</h2>
<ul class="simple">
<li>The PEP 393 unicode parsing support gained a fallback for wchar strings
which might still be somewhat common on Windows systems.</li>
</ul>
</div>
-<div class="section" id="id38">
+<div class="section" id="id43">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Several error handling problems were fixed throughout the code base that
parsing the string character by character.</li>
</ul>
</div>
-<div class="section" id="id39">
+<div class="section" id="id44">
<h2>Other changes</h2>
<ul class="simple">
<li>Document cleanup code was simplified using the new GC features in
</div>
<div class="section" id="beta4-2014-01-12">
<h1>3.3.0beta4 (2014-01-12)</h1>
-<div class="section" id="id40">
+<div class="section" id="id45">
<h2>Features added</h2>
</div>
-<div class="section" id="id41">
+<div class="section" id="id46">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>The (empty) value returned by the <tt class="docutils literal">attrib</tt> property of Entity and Comment
the docinfo property) lost their attribute declarations.</li>
</ul>
</div>
-<div class="section" id="id42">
+<div class="section" id="id47">
<h2>Other changes</h2>
<ul class="simple">
<li>Built with Cython 0.20pre (gitrev 012ae82eb) to prepare support for
</div>
<div class="section" id="beta3-2014-01-02">
<h1>3.3.0beta3 (2014-01-02)</h1>
-<div class="section" id="id43">
+<div class="section" id="id48">
<h2>Features added</h2>
<ul class="simple">
<li>Unicode string parsing was optimised for Python 3.3 (PEP 393).</li>
</ul>
</div>
-<div class="section" id="id44">
+<div class="section" id="id49">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>HTML parsing of Unicode strings could misdecode the input on some platforms.</li>
<li>Crash in xmlfile() when closing open elements out of order in an error case.</li>
</ul>
</div>
-<div class="section" id="id45">
+<div class="section" id="id50">
<h2>Other changes</h2>
</div>
</div>
<div class="section" id="beta2-2013-12-20">
<h1>3.3.0beta2 (2013-12-20)</h1>
-<div class="section" id="id46">
+<div class="section" id="id51">
<h2>Features added</h2>
<ul class="simple">
<li><tt class="docutils literal">iterparse()</tt> supports the <tt class="docutils literal">recover</tt> option.</li>
</ul>
</div>
-<div class="section" id="id47">
+<div class="section" id="id52">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash in <tt class="docutils literal">iterparse()</tt> for HTML parsing.</li>
<li>Crash in target parsing with attributes.</li>
</ul>
</div>
-<div class="section" id="id48">
+<div class="section" id="id53">
<h2>Other changes</h2>
<ul class="simple">
<li>The safety check in the read-only tree implementation (e.g. used by
</div>
<div class="section" id="beta1-2013-12-12">
<h1>3.3.0beta1 (2013-12-12)</h1>
-<div class="section" id="id49">
+<div class="section" id="id54">
<h2>Features added</h2>
<ul class="simple">
<li>New option <tt class="docutils literal">handle_failures</tt> in <tt class="docutils literal">make_links_absolute()</tt> and
(<tt class="docutils literal">html=True</tt>).</li>
</ul>
</div>
-<div class="section" id="id50">
+<div class="section" id="id55">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1255132">LP#1255132</a>: crash when trying to run validation over non-Element (e.g.
which removed the name attribute.</li>
</ul>
</div>
-<div class="section" id="id51">
+<div class="section" id="id56">
<h2>Other changes</h2>
<ul class="simple">
<li>Some basic API classes use freelists internally for faster
</ul>
</div>
</div>
-<div class="section" id="id52">
+<div class="section" id="id57">
<h1>3.2.5 (2014-01-02)</h1>
-<div class="section" id="id53">
+<div class="section" id="id58">
<h2>Features added</h2>
</div>
-<div class="section" id="id54">
+<div class="section" id="id59">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash in xmlfile() when closing open elements out of order in an error case.</li>
comment or PI).</li>
</ul>
</div>
-<div class="section" id="id56">
+<div class="section" id="id61">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id57">
+<div class="section" id="id62">
<h1>3.2.4 (2013-11-07)</h1>
-<div class="section" id="id58">
+<div class="section" id="id63">
<h2>Features added</h2>
</div>
-<div class="section" id="id59">
+<div class="section" id="id64">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Memory leak when creating an XPath evaluator in a thread.</li>
<li>Compressed plain-text serialisation to file-like objects was broken.</li>
</ul>
</div>
-<div class="section" id="id62">
+<div class="section" id="id67">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id63">
+<div class="section" id="id68">
<h1>3.2.3 (2013-07-28)</h1>
-<div class="section" id="id64">
+<div class="section" id="id69">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Fix support for Python 2.4 which was lost in 3.2.2.</li>
</ul>
</div>
</div>
-<div class="section" id="id65">
+<div class="section" id="id70">
<h1>3.2.2 (2013-07-28)</h1>
-<div class="section" id="id66">
+<div class="section" id="id71">
<h2>Features added</h2>
</div>
-<div class="section" id="id67">
+<div class="section" id="id72">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1185701">LP#1185701</a>: spurious XMLSyntaxError after finishing iterparse().</li>
<li>Crash in lxml.objectify during xsi annotation.</li>
</ul>
</div>
-<div class="section" id="id68">
+<div class="section" id="id73">
<h2>Other changes</h2>
<ul class="simple">
<li>Return values of user provided element class lookup methods are now
</ul>
</div>
</div>
-<div class="section" id="id69">
+<div class="section" id="id74">
<h1>3.2.1 (2013-05-11)</h1>
-<div class="section" id="id70">
+<div class="section" id="id75">
<h2>Features added</h2>
<ul class="simple">
<li>The methods <tt class="docutils literal">apply_templates()</tt> and <tt class="docutils literal">process_children()</tt> of XSLT
strings from the result list.</li>
</ul>
</div>
-<div class="section" id="id71">
+<div class="section" id="id76">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>When moving Elements to another tree, the namespace cleanup mechanism
crashed.</li>
</ul>
</div>
-<div class="section" id="id72">
+<div class="section" id="id77">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id73">
+<div class="section" id="id78">
<h1>3.2.0 (2013-04-28)</h1>
-<div class="section" id="id74">
+<div class="section" id="id79">
<h2>Features added</h2>
</div>
-<div class="section" id="id75">
+<div class="section" id="id80">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/690319">LP#690319</a>: Leading whitespace could change the behaviour of the string
allowed by the user provided whitelist. Patch by Christine Koppelt.</li>
</ul>
</div>
-<div class="section" id="id76">
+<div class="section" id="id81">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id77">
+<div class="section" id="id82">
<h1>3.1.2 (2013-04-12)</h1>
-<div class="section" id="id78">
+<div class="section" id="id83">
<h2>Features added</h2>
</div>
-<div class="section" id="id79">
+<div class="section" id="id84">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1136509">LP#1136509</a>: Passing attributes through the namespace-unaware API of
by properly exported API function <tt class="docutils literal">xmlBufUse()</tt>.</li>
</ul>
</div>
-<div class="section" id="id80">
+<div class="section" id="id85">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id81">
+<div class="section" id="id86">
<h1>3.1.1 (2013-03-29)</h1>
-<div class="section" id="id82">
+<div class="section" id="id87">
<h2>Features added</h2>
</div>
-<div class="section" id="id83">
+<div class="section" id="id88">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1160386">LP#1160386</a>: Write access to <tt class="docutils literal">lxml.html.FormElement.fields</tt> raised
<li>Illegal memory access during cleanup in incremental xmlfile writer.</li>
</ul>
</div>
-<div class="section" id="id84">
+<div class="section" id="id89">
<h2>Other changes</h2>
<ul class="simple">
<li>The externally useless class <tt class="docutils literal">lxml.etree._BaseParser</tt> was removed
</ul>
</div>
</div>
-<div class="section" id="id85">
+<div class="section" id="id90">
<h1>3.1.0 (2013-02-10)</h1>
-<div class="section" id="id86">
+<div class="section" id="id91">
<h2>Features added</h2>
<ul class="simple">
<li><a class="reference external" href="https://github.com/lxml/lxml/issues/89">GH#89</a>: lxml.html.clean allows overriding the set of attributes that it
considers 'safe'. Patch by Francis Devereux.</li>
</ul>
</div>
-<div class="section" id="id87">
+<div class="section" id="id92">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1104370">LP#1104370</a>: <tt class="docutils literal">copy.copy(el.attrib)</tt> raised an exception. It now returns
without threading support. Patch by Ulrich Seidl.</li>
</ul>
</div>
-<div class="section" id="id88">
+<div class="section" id="id93">
<h2>Other changes</h2>
</div>
</div>
<div class="section" id="beta1-2012-12-21">
<h1>3.1beta1 (2012-12-21)</h1>
-<div class="section" id="id89">
+<div class="section" id="id94">
<h2>Features added</h2>
<ul class="simple">
<li>New build-time option <tt class="docutils literal"><span class="pre">--with-unicode-strings</span></tt> for Python 2 that
tags with non-identifier names without having to resort to getattr().</li>
</ul>
</div>
-<div class="section" id="id90">
+<div class="section" id="id95">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>When starting from a non-namespaced element in lxml.objectify, searching
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1080792">LP#1080792</a>: Static build of libxml2 2.9.0 failed due to missing file.</li>
</ul>
</div>
-<div class="section" id="id91">
+<div class="section" id="id96">
<h2>Other changes</h2>
<ul class="simple">
<li>The externally useless class <tt class="docutils literal">_ObjectifyElementMakerCaller</tt> was
</ul>
</div>
</div>
-<div class="section" id="id92">
+<div class="section" id="id97">
<h1>3.0.2 (2012-12-14)</h1>
-<div class="section" id="id93">
+<div class="section" id="id98">
<h2>Features added</h2>
</div>
-<div class="section" id="id94">
+<div class="section" id="id99">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Fix crash during interpreter shutdown by switching to Cython 0.17.3 for building.</li>
</ul>
</div>
-<div class="section" id="id95">
+<div class="section" id="id100">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id96">
+<div class="section" id="id101">
<h1>3.0.1 (2012-10-14)</h1>
-<div class="section" id="id97">
+<div class="section" id="id102">
<h2>Features added</h2>
</div>
-<div class="section" id="id98">
+<div class="section" id="id103">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1065924">LP#1065924</a>: Element proxies could disappear during garbage collection
<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1065139">LP#1065139</a>: static MacOS-X build failed in Py3.</li>
</ul>
</div>
-<div class="section" id="id99">
+<div class="section" id="id104">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id100">
+<div class="section" id="id105">
<h1>3.0 (2012-10-08)</h1>
-<div class="section" id="id101">
+<div class="section" id="id106">
<h2>Features added</h2>
</div>
-<div class="section" id="id102">
+<div class="section" id="id107">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>End-of-file handling was incorrect in iterparse() when reading from
improved consistency checks.</li>
</ul>
</div>
-<div class="section" id="id103">
+<div class="section" id="id108">
<h2>Other changes</h2>
<ul class="simple">
<li>The build no longer uses Cython by default unless the generated C files
</div>
<div class="section" id="beta1-2012-09-26">
<h1>3.0beta1 (2012-09-26)</h1>
-<div class="section" id="id104">
+<div class="section" id="id109">
<h2>Features added</h2>
<ul class="simple">
<li>Python level access to (optional) libxml2 memory debugging features
to simplify debugging of memory leaks etc.</li>
</ul>
</div>
-<div class="section" id="id105">
+<div class="section" id="id110">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Fix a memory leak in XPath by switching to Cython 0.17.1.</li>
<li>Some tests were adapted to work with PyPy.</li>
</ul>
</div>
-<div class="section" id="id106">
+<div class="section" id="id111">
<h2>Other changes</h2>
<ul class="simple">
<li>The code was adapted to work with the upcoming libxml2 2.9.0 release.</li>
</div>
<div class="section" id="alpha2-2012-08-23">
<h1>3.0alpha2 (2012-08-23)</h1>
-<div class="section" id="id107">
+<div class="section" id="id112">
<h2>Features added</h2>
<ul class="simple">
<li>The <tt class="docutils literal">.iter()</tt> method of elements now accepts <tt class="docutils literal">tag</tt> arguments like
to top-level during exclusive serialisation.</li>
</ul>
</div>
-<div class="section" id="id108">
+<div class="section" id="id113">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Passing long Unicode strings into the <tt class="docutils literal">feed()</tt> parser interface
failed to read the entire string.</li>
</ul>
</div>
-<div class="section" id="id109">
+<div class="section" id="id114">
<h2>Other changes</h2>
</div>
</div>
<div class="section" id="alpha1-2012-07-31">
<h1>3.0alpha1 (2012-07-31)</h1>
-<div class="section" id="id110">
+<div class="section" id="id115">
<h2>Features added</h2>
<ul class="simple">
<li>Initial support for building in PyPy (through cpyext).</li>
returned by the iterators if they match any of the tags.</li>
</ul>
</div>
-<div class="section" id="id111">
+<div class="section" id="id116">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>The <tt class="docutils literal"><span class="pre">.find*()</span></tt> methods in <tt class="docutils literal">lxml.objectify</tt> no longer use XPath
cannot be modified.</li>
</ul>
</div>
-<div class="section" id="id112">
+<div class="section" id="id117">
<h2>Other changes</h2>
<ul class="simple">
<li>The code base was overhauled to properly use 'const' where the API
</ul>
</div>
</div>
-<div class="section" id="id113">
+<div class="section" id="id118">
<h1>2.3.6 (2012-09-28)</h1>
-<div class="section" id="id114">
+<div class="section" id="id119">
<h2>Features added</h2>
</div>
-<div class="section" id="id115">
+<div class="section" id="id120">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Passing long Unicode strings into the <tt class="docutils literal">feed()</tt> parser interface
failed to read the entire string.</li>
</ul>
</div>
-<div class="section" id="id116">
+<div class="section" id="id121">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id117">
+<div class="section" id="id122">
<h1>2.3.5 (2012-07-31)</h1>
-<div class="section" id="id118">
+<div class="section" id="id123">
<h2>Features added</h2>
</div>
-<div class="section" id="id119">
+<div class="section" id="id124">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when merging text nodes in <tt class="docutils literal">element.remove()</tt>.</li>
<li>Crash in sax/target parser when reporting empty doctype.</li>
</ul>
</div>
-<div class="section" id="id120">
+<div class="section" id="id125">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id121">
+<div class="section" id="id126">
<h1>2.3.4 (2012-03-26)</h1>
-<div class="section" id="id122">
+<div class="section" id="id127">
<h2>Features added</h2>
</div>
-<div class="section" id="id123">
+<div class="section" id="id128">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when building an nsmap (Element property) with empty
<li>XSLT stylesheet compilation could ignore compilation errors.</li>
</ul>
</div>
-<div class="section" id="id124">
+<div class="section" id="id129">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id125">
+<div class="section" id="id130">
<h1>2.3.3 (2012-01-04)</h1>
-<div class="section" id="id126">
+<div class="section" id="id131">
<h2>Features added</h2>
<ul class="simple">
<li><tt class="docutils literal">lxml.html.tostring()</tt> gained new serialisation options
<tt class="docutils literal">with_tail</tt> and <tt class="docutils literal">doctype</tt>.</li>
</ul>
</div>
-<div class="section" id="id127">
+<div class="section" id="id132">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Fixed a crash when using <tt class="docutils literal">iterparse()</tt> for HTML parsing and
'img' tags without 'src' attribute.</li>
</ul>
</div>
-<div class="section" id="id128">
+<div class="section" id="id133">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id129">
+<div class="section" id="id134">
<h1>2.3.2 (2011-11-11)</h1>
-<div class="section" id="id130">
+<div class="section" id="id135">
<h2>Features added</h2>
<ul class="simple">
<li><tt class="docutils literal">lxml.objectify.deannotate()</tt> has a new boolean option
of <tt class="docutils literal">lxml.etree</tt> on the user side.</li>
</ul>
</div>
-<div class="section" id="id131">
+<div class="section" id="id136">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Fixed the "descendant" bug in cssselect a second time (after a first
"div>* .foo" instead of "div>.foo". Patch by Simon Sapin.</li>
</ul>
</div>
-<div class="section" id="id132">
+<div class="section" id="id137">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id133">
+<div class="section" id="id138">
<h1>2.3.1 (2011-09-25)</h1>
-<div class="section" id="id134">
+<div class="section" id="id139">
<h2>Features added</h2>
<ul class="simple">
<li>New option <tt class="docutils literal">kill_tags</tt> in <tt class="docutils literal">lxml.html.clean</tt> to remove specific
as the user is not expected to keep a reference to it.</li>
</ul>
</div>
-<div class="section" id="id135">
+<div class="section" id="id140">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>HTML cleaning didn't remove 'data:' links.</li>
field properly selects them and unselects them.</li>
</ul>
</div>
-<div class="section" id="id136">
+<div class="section" id="id141">
<h2>Other changes</h2>
<ul class="simple">
<li>Static builds can specify the download directory with the
</ul>
</div>
</div>
-<div class="section" id="id137">
+<div class="section" id="id142">
<h1>2.3 (2011-02-06)</h1>
-<div class="section" id="id138">
+<div class="section" id="id143">
<h2>Features added</h2>
<ul class="simple">
<li>When looking for children, <tt class="docutils literal">lxml.objectify</tt> takes '{}tag' as
meaning an empty namespace, as opposed to the parent namespace.</li>
</ul>
</div>
-<div class="section" id="id139">
+<div class="section" id="id144">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>When finished reading from a file-like object, the parser
<li><tt class="docutils literal">marque</tt> tag in HTML cleanup code is correctly named <tt class="docutils literal">marquee</tt>.</li>
</ul>
</div>
-<div class="section" id="id140">
+<div class="section" id="id145">
<h2>Other changes</h2>
<ul class="simple">
<li>Some public functions in the Cython-level C-API have more explicit
</div>
<div class="section" id="beta1-2010-09-06">
<h1>2.3beta1 (2010-09-06)</h1>
-<div class="section" id="id141">
+<div class="section" id="id146">
<h2>Features added</h2>
</div>
-<div class="section" id="id142">
+<div class="section" id="id147">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash in newer libxml2 versions when moving elements between
use of os.tempnam. It now takes an optional 'encoding' parameter.</li>
</ul>
</div>
-<div class="section" id="id143">
+<div class="section" id="id148">
<h2>Other changes</h2>
</div>
</div>
<div class="section" id="alpha2-2010-07-24">
<h1>2.3alpha2 (2010-07-24)</h1>
-<div class="section" id="id144">
+<div class="section" id="id149">
<h2>Features added</h2>
</div>
-<div class="section" id="id145">
+<div class="section" id="id150">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash in XSLT when generating text-only result documents with a
stylesheet created in a different thread.</li>
</ul>
</div>
-<div class="section" id="id146">
+<div class="section" id="id151">
<h2>Other changes</h2>
<ul class="simple">
<li><tt class="docutils literal">repr()</tt> of Element objects shows the hex ID with leading 0x
</div>
<div class="section" id="alpha1-2010-06-19">
<h1>2.3alpha1 (2010-06-19)</h1>
-<div class="section" id="id147">
+<div class="section" id="id152">
<h2>Features added</h2>
<ul class="simple">
<li>Keyword argument <tt class="docutils literal">namespaces</tt> in <tt class="docutils literal">lxml.cssselect.CSSSelector()</tt>
(compatible with ElementTree).</li>
</ul>
</div>
-<div class="section" id="id148">
+<div class="section" id="id153">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>API is hardened against invalid proxy instances to prevent crashes
called after parsing, regardless of the outcome.</li>
</ul>
</div>
-<div class="section" id="id149">
+<div class="section" id="id154">
<h2>Other changes</h2>
<ul class="simple">
<li>Official support for Python 3.1.2 and later.</li>
</ul>
</div>
</div>
-<div class="section" id="id150">
+<div class="section" id="id155">
<h1>2.2.8 (2010-09-02)</h1>
-<div class="section" id="id151">
+<div class="section" id="id156">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash in newer libxml2 versions when moving elements between
</ul>
</div>
</div>
-<div class="section" id="id152">
+<div class="section" id="id157">
<h1>2.2.7 (2010-07-24)</h1>
-<div class="section" id="id153">
+<div class="section" id="id158">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash in XSLT when generating text-only result documents with a
</ul>
</div>
</div>
-<div class="section" id="id154">
+<div class="section" id="id159">
<h1>2.2.6 (2010-03-02)</h1>
-<div class="section" id="id155">
+<div class="section" id="id160">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Fixed several Python 3 regressions by building with Cython 0.11.3.</li>
</ul>
</div>
</div>
-<div class="section" id="id156">
+<div class="section" id="id161">
<h1>2.2.5 (2010-02-28)</h1>
-<div class="section" id="id157">
+<div class="section" id="id162">
<h2>Features added</h2>
<ul class="simple">
<li>Support for running XSLT extension elements on the input root node
(e.g. in a template matching on "/").</li>
</ul>
</div>
-<div class="section" id="id158">
+<div class="section" id="id163">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash in XPath evaluation when reading smart strings from a document
</ul>
</div>
</div>
-<div class="section" id="id159">
+<div class="section" id="id164">
<h1>2.2.4 (2009-11-11)</h1>
-<div class="section" id="id160">
+<div class="section" id="id165">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Static build of libxml2/libxslt was broken.</li>
</ul>
</div>
</div>
-<div class="section" id="id161">
+<div class="section" id="id166">
<h1>2.2.3 (2009-10-30)</h1>
-<div class="section" id="id162">
+<div class="section" id="id167">
<h2>Features added</h2>
</div>
-<div class="section" id="id163">
+<div class="section" id="id168">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>The <tt class="docutils literal">resolve_entities</tt> option did not work in the incremental feed
<li>Diverting the error logging to Python's logging system was broken.</li>
</ul>
</div>
-<div class="section" id="id164">
+<div class="section" id="id169">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id165">
+<div class="section" id="id170">
<h1>2.2.2 (2009-06-21)</h1>
-<div class="section" id="id166">
+<div class="section" id="id171">
<h2>Features added</h2>
<ul class="simple">
<li>New helper functions <tt class="docutils literal">strip_attributes()</tt>, <tt class="docutils literal">strip_elements()</tt>,
from a subtree.</li>
</ul>
</div>
-<div class="section" id="id167">
+<div class="section" id="id172">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Namespace cleanup on subtree insertions could result in missing
behaviour.</li>
</ul>
</div>
-<div class="section" id="id168">
+<div class="section" id="id173">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id169">
+<div class="section" id="id174">
<h1>2.2.1 (2009-06-02)</h1>
-<div class="section" id="id170">
+<div class="section" id="id175">
<h2>Features added</h2>
<ul class="simple">
<li>Injecting default attributes into a document during XML Schema
restrictions imposed by libxml2 2.7.</li>
</ul>
</div>
-<div class="section" id="id171">
+<div class="section" id="id176">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>The script for statically building libxml2 and libxslt didn't work
for parsing (which could lead to a crash before release 2.6.24).</li>
</ul>
</div>
-<div class="section" id="id172">
+<div class="section" id="id177">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id173">
+<div class="section" id="id178">
<h1>2.2 (2009-03-21)</h1>
-<div class="section" id="id174">
+<div class="section" id="id179">
<h2>Features added</h2>
<ul class="simple">
<li>Support for <tt class="docutils literal">standalone</tt> flag in XML declaration through
on serialisation.</li>
</ul>
</div>
-<div class="section" id="id175">
+<div class="section" id="id180">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when parsing an XML Schema with external imports from a
</div>
<div class="section" id="beta4-2009-02-27">
<h1>2.2beta4 (2009-02-27)</h1>
-<div class="section" id="id176">
+<div class="section" id="id181">
<h2>Features added</h2>
<ul class="simple">
<li>Support strings and instantiable Element classes as child arguments
objects.</li>
</ul>
</div>
-<div class="section" id="id177">
+<div class="section" id="id182">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Deep-copying an ElementTree copied neither its sibling PIs and
was evaluated incorrectly.</li>
</ul>
</div>
-<div class="section" id="id178">
+<div class="section" id="id183">
<h2>Other changes</h2>
<ul class="simple">
<li>Official support for Python 3.0.1.</li>
</div>
<div class="section" id="beta3-2009-02-17">
<h1>2.2beta3 (2009-02-17)</h1>
-<div class="section" id="id179">
+<div class="section" id="id184">
<h2>Features added</h2>
<ul class="simple">
<li><tt class="docutils literal">XSLT.strparam()</tt> class method to wrap quoted string parameters
that require escaping.</li>
</ul>
</div>
-<div class="section" id="id180">
+<div class="section" id="id185">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Memory leak in XPath evaluators.</li>
<li>Minor fixes for Python 3.</li>
</ul>
</div>
-<div class="section" id="id181">
+<div class="section" id="id186">
<h2>Other changes</h2>
<ul class="simple">
<li>The global error log (which is copied into the exception log) is now
</div>
<div class="section" id="beta2-2009-01-25">
<h1>2.2beta2 (2009-01-25)</h1>
-<div class="section" id="id182">
+<div class="section" id="id187">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Potential memory leak on exception handling. This was due to a
</ul>
</div>
</div>
-<div class="section" id="id183">
+<div class="section" id="id188">
<h1>2.1.5 (2009-01-06)</h1>
-<div class="section" id="id184">
+<div class="section" id="id189">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Potential memory leak on exception handling. This was due to a
</div>
<div class="section" id="beta1-2008-12-12">
<h1>2.2beta1 (2008-12-12)</h1>
-<div class="section" id="id185">
+<div class="section" id="id190">
<h2>Features added</h2>
<ul class="simple">
<li>Allow <tt class="docutils literal">lxml.html.diff.htmldiff</tt> to accept Element objects, not
just HTML strings.</li>
</ul>
</div>
-<div class="section" id="id186">
+<div class="section" id="id191">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when using an XPath evaluator in multiple threads.</li>
<li>Fixed missing whitespace before <tt class="docutils literal"><span class="pre">Link:...</span></tt> in <tt class="docutils literal">lxml.html.diff</tt>.</li>
</ul>
</div>
-<div class="section" id="id187">
+<div class="section" id="id192">
<h2>Other changes</h2>
<ul class="simple">
<li>Export <tt class="docutils literal">lxml.html.parse</tt>.</li>
</ul>
</div>
</div>
-<div class="section" id="id188">
+<div class="section" id="id193">
<h1>2.1.4 (2008-12-12)</h1>
-<div class="section" id="id189">
+<div class="section" id="id194">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when using an XPath evaluator in multiple threads.</li>
</ul>
</div>
</div>
-<div class="section" id="id190">
+<div class="section" id="id195">
<h1>2.0.11 (2008-12-12)</h1>
-<div class="section" id="id191">
+<div class="section" id="id196">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when using an XPath evaluator in multiple threads.</li>
</div>
<div class="section" id="alpha1-2008-11-23">
<h1>2.2alpha1 (2008-11-23)</h1>
-<div class="section" id="id192">
+<div class="section" id="id197">
<h2>Features added</h2>
<ul class="simple">
<li>Support for XSLT result tree fragments in XPath/XSLT extension
<li>Instantiating a custom Element classes creates a new Element.</li>
</ul>
</div>
-<div class="section" id="id193">
+<div class="section" id="id198">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>XSLT didn't inherit the parse options of the input document.</li>
with Wikipedia links).</li>
</ul>
</div>
-<div class="section" id="id194">
+<div class="section" id="id199">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id195">
+<div class="section" id="id200">
<h1>2.1.3 (2008-11-17)</h1>
-<div class="section" id="id196">
+<div class="section" id="id201">
<h2>Features added</h2>
</div>
-<div class="section" id="id197">
+<div class="section" id="id202">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Ref-count leaks when lxml enters a try-except statement while an
<li>Overriding the parser encoding didn't work for many encodings.</li>
</ul>
</div>
-<div class="section" id="id198">
+<div class="section" id="id203">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id199">
+<div class="section" id="id204">
<h1>2.0.10 (2008-11-17)</h1>
-<div class="section" id="id200">
+<div class="section" id="id205">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Ref-count leaks when lxml enters a try-except statement while an
</ul>
</div>
</div>
-<div class="section" id="id201">
+<div class="section" id="id206">
<h1>2.1.2 (2008-09-05)</h1>
-<div class="section" id="id202">
+<div class="section" id="id207">
<h2>Features added</h2>
<ul class="simple">
<li>lxml.etree now tries to find the absolute path name of files when
of the source document.</li>
</ul>
</div>
-<div class="section" id="id203">
+<div class="section" id="id208">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Memory problem when passing documents between threads.</li>
exception instead of calling <tt class="docutils literal">.close()</tt> on the target.</li>
</ul>
</div>
-<div class="section" id="id204">
+<div class="section" id="id209">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id205">
+<div class="section" id="id210">
<h1>2.0.9 (2008-09-05)</h1>
-<div class="section" id="id206">
+<div class="section" id="id211">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Memory problem when passing documents between threads.</li>
</ul>
</div>
</div>
-<div class="section" id="id207">
+<div class="section" id="id212">
<h1>2.1.1 (2008-07-24)</h1>
-<div class="section" id="id208">
+<div class="section" id="id213">
<h2>Features added</h2>
</div>
-<div class="section" id="id209">
+<div class="section" id="id214">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when parsing XSLT stylesheets in a thread and using them in
Python 3.</li>
</ul>
</div>
-<div class="section" id="id210">
+<div class="section" id="id215">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id211">
+<div class="section" id="id216">
<h1>2.0.8 (2008-07-24)</h1>
-<div class="section" id="id212">
+<div class="section" id="id217">
<h2>Features added</h2>
<ul class="simple">
<li><tt class="docutils literal">lxml.html.rewrite_links()</tt> strips links to work around documents
with whitespace in URL attributes.</li>
</ul>
</div>
-<div class="section" id="id213">
+<div class="section" id="id218">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when parsing XSLT stylesheets in a thread and using them in
with parameters.</li>
</ul>
</div>
-<div class="section" id="id214">
+<div class="section" id="id219">
<h2>Other changes</h2>
</div>
</div>
-<div class="section" id="id215">
+<div class="section" id="id220">
<h1>2.1 (2008-07-09)</h1>
-<div class="section" id="id216">
+<div class="section" id="id221">
<h2>Features added</h2>
<ul class="simple">
<li>Smart strings can be switched off in XPath (<tt class="docutils literal">smart_strings</tt>
with whitespace in URL attributes.</li>
</ul>
</div>
-<div class="section" id="id217">
+<div class="section" id="id222">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Custom resolvers were not used for XMLSchema includes/imports and
with parameters.</li>
</ul>
</div>
-<div class="section" id="id218">
+<div class="section" id="id223">
<h2>Other changes</h2>
<ul class="simple">
<li><tt class="docutils literal">objectify.enableRecursiveStr()</tt> was removed, use
</ul>
</div>
</div>
-<div class="section" id="id219">
+<div class="section" id="id224">
<h1>2.0.7 (2008-06-20)</h1>
-<div class="section" id="id220">
+<div class="section" id="id225">
<h2>Features added</h2>
<ul class="simple">
<li>Pickling <tt class="docutils literal">ElementTree</tt> objects in lxml.objectify.</li>
</ul>
</div>
-<div class="section" id="id221">
+<div class="section" id="id226">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Descending dot-separated classes in CSS selectors were not resolved
the super class is not called from Python subclasses.</li>
</ul>
</div>
-<div class="section" id="id222">
+<div class="section" id="id227">
<h2>Other changes</h2>
<ul class="simple">
<li>Non-ASCII characters in attribute values are no longer escaped on
</div>
<div class="section" id="beta3-2008-06-19">
<h1>2.1beta3 (2008-06-19)</h1>
-<div class="section" id="id223">
+<div class="section" id="id228">
<h2>Features added</h2>
<ul class="simple">
<li>Major overhaul of <tt class="docutils literal">tools/xpathgrep.py</tt> script.</li>
(experimental).</li>
</ul>
</div>
-<div class="section" id="id224">
+<div class="section" id="id229">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><tt class="docutils literal">ElementTree.parse()</tt> didn't handle target parser result.</li>
<li>Rare crash when serialising to a file object with certain encodings.</li>
</ul>
</div>
-<div class="section" id="id225">
+<div class="section" id="id230">
<h2>Other changes</h2>
<ul class="simple">
<li>Non-ASCII characters in attribute values are no longer escaped on
</ul>
</div>
</div>
-<div class="section" id="id226">
+<div class="section" id="id231">
<h1>2.0.6 (2008-05-31)</h1>
-<div class="section" id="id227">
+<div class="section" id="id232">
<h2>Features added</h2>
</div>
-<div class="section" id="id228">
+<div class="section" id="id233">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Incorrect evaluation of <tt class="docutils literal"><span class="pre">el.find("tag[child]")</span></tt>.</li>
<li>Rare crash when serialising to a file object with certain encodings.</li>
</ul>
</div>
-<div class="section" id="id229">
+<div class="section" id="id234">
<h2>Other changes</h2>
<ul class="simple">
<li>lxml should now build without problems on MacOS-X.</li>
</div>
<div class="section" id="beta2-2008-05-02">
<h1>2.1beta2 (2008-05-02)</h1>
-<div class="section" id="id230">
+<div class="section" id="id235">
<h2>Features added</h2>
<ul class="simple">
<li>All parse functions in lxml.html take a <tt class="docutils literal">parser</tt> keyword argument.</li>
pre-configured for the lxml.html package.</li>
</ul>
</div>
-<div class="section" id="id231">
+<div class="section" id="id236">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Moving a subtree from a document created in one thread into a
of more than one prefix for a namespace on the same Element.</li>
</ul>
</div>
-<div class="section" id="id232">
+<div class="section" id="id237">
<h2>Other changes</h2>
<ul class="simple">
<li>If the default namespace is redundantly defined with a prefix on the
</ul>
</div>
</div>
-<div class="section" id="id233">
+<div class="section" id="id238">
<h1>2.0.5 (2008-05-01)</h1>
-<div class="section" id="id234">
+<div class="section" id="id239">
<h2>Features added</h2>
</div>
-<div class="section" id="id235">
+<div class="section" id="id240">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Resolving to a filename in custom resolvers didn't work.</li>
<li>Memory leak in Schematron with libxml2 >= 2.6.31.</li>
</ul>
</div>
-<div class="section" id="id236">
+<div class="section" id="id241">
<h2>Other changes</h2>
</div>
</div>
<div class="section" id="beta1-2008-04-15">
<h1>2.1beta1 (2008-04-15)</h1>
-<div class="section" id="id237">
+<div class="section" id="id242">
<h2>Features added</h2>
<ul class="simple">
<li>Error logging in Schematron (requires libxml2 2.6.32 or later).</li>
<li><tt class="docutils literal">CDATA()</tt> factory to wrap string content as CDATA section.</li>
</ul>
</div>
-<div class="section" id="id238">
+<div class="section" id="id243">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Resolving to a filename in custom resolvers didn't work.</li>
<li>lxml.etree accepted non well-formed namespace prefix names.</li>
</ul>
</div>
-<div class="section" id="id239">
+<div class="section" id="id244">
<h2>Other changes</h2>
<ul class="simple">
<li>Major cleanup in internal <tt class="docutils literal">moveNodeToDocument()</tt> function, which
</ul>
</div>
</div>
-<div class="section" id="id240">
+<div class="section" id="id245">
<h1>2.0.4 (2008-04-13)</h1>
-<div class="section" id="id241">
+<div class="section" id="id246">
<h2>Features added</h2>
</div>
-<div class="section" id="id242">
+<div class="section" id="id247">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Hanging thread in conjunction with GTK threading.</li>
<li><tt class="docutils literal"><span class="pre">ElementTree.find*()</span></tt> didn't accept QName objects.</li>
</ul>
</div>
-<div class="section" id="id243">
+<div class="section" id="id248">
<h2>Other changes</h2>
</div>
</div>
<div class="section" id="alpha1-2008-03-27">
<h1>2.1alpha1 (2008-03-27)</h1>
-<div class="section" id="id244">
+<div class="section" id="id249">
<h2>Features added</h2>
<ul class="simple">
<li>New event types 'comment' and 'pi' in <tt class="docutils literal">iterparse()</tt>.</li>
<li><tt class="docutils literal">docinfo.URL</tt> property is writable.</li>
</ul>
</div>
-<div class="section" id="id245">
+<div class="section" id="id250">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Default encoding for plain text serialisation was different from
that of XML serialisation (UTF-8 instead of ASCII).</li>
</ul>
</div>
-<div class="section" id="id246">
+<div class="section" id="id251">
<h2>Other changes</h2>
<ul class="simple">
<li>Minor API speed-ups.</li>
</ul>
</div>
</div>
-<div class="section" id="id247">
+<div class="section" id="id252">
<h1>2.0.3 (2008-03-26)</h1>
-<div class="section" id="id248">
+<div class="section" id="id253">
<h2>Features added</h2>
<ul class="simple">
<li>soupparser.parse() allows passing keyword arguments on to
<li><tt class="docutils literal">fromstring()</tt> method in <tt class="docutils literal">lxml.html.soupparser</tt>.</li>
</ul>
</div>
-<div class="section" id="id249">
+<div class="section" id="id254">
<h2>Bugs fixed</h2>
<ul class="simple">
<li><tt class="docutils literal">lxml.html.diff</tt> didn't treat empty tags properly (e.g.,
correctly serialise the value to a string.</li>
</ul>
</div>
-<div class="section" id="id250">
+<div class="section" id="id255">
<h2>Other changes</h2>
<ul class="simple">
<li><tt class="docutils literal">lxml.html.ElementSoup</tt> was replaced by a new module
</ul>
</div>
</div>
-<div class="section" id="id251">
+<div class="section" id="id256">
<h1>2.0.2 (2008-02-22)</h1>
-<div class="section" id="id252">
+<div class="section" id="id257">
<h2>Features added</h2>
<ul class="simple">
<li>Support passing <tt class="docutils literal">base_url</tt> to file parser functions to override
the filename of the file(-like) object.</li>
</ul>
</div>
-<div class="section" id="id253">
+<div class="section" id="id258">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>The prefix for objectify's pytype namespace was missing from the set
<li>Slice deletion bug fixed in objectify.</li>
</ul>
</div>
-<div class="section" id="id254">
+<div class="section" id="id259">
<h2>Other changes</h2>
<ul class="simple">
<li>Enabled doctests for some Python modules (especially <tt class="docutils literal">lxml.html</tt>).</li>
</ul>
</div>
</div>
-<div class="section" id="id255">
+<div class="section" id="id260">
<h1>2.0.1 (2008-02-13)</h1>
-<div class="section" id="id256">
+<div class="section" id="id261">
<h2>Features added</h2>
<ul class="simple">
<li>Child iteration in <tt class="docutils literal">lxml.pyclasslookup</tt>.</li>
methods to make them visible in API docs and <tt class="docutils literal">help()</tt></li>
</ul>
</div>
-<div class="section" id="id257">
+<div class="section" id="id262">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>The module <tt class="docutils literal">lxml.html.builder</tt> was duplicated as
elements at the wrong position.</li>
</ul>
</div>
-<div class="section" id="id258">
+<div class="section" id="id263">
<h2>Other changes</h2>
<ul class="simple">
<li>The generated API documentation was cleaned up and disburdened from
</ul>
</div>
</div>
-<div class="section" id="id259">
+<div class="section" id="id264">
<h1>2.0 (2008-02-01)</h1>
-<div class="section" id="id260">
+<div class="section" id="id265">
<h2>Features added</h2>
<ul class="simple">
<li>Passing the <tt class="docutils literal">unicode</tt> type as <tt class="docutils literal">encoding</tt> to <tt class="docutils literal">tostring()</tt> will
<li>EXSLT RegExp support in standard XPath (not only XSLT)</li>
</ul>
</div>
-<div class="section" id="id261">
+<div class="section" id="id266">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Missing import in <tt class="docutils literal">lxml.html.clean</tt>.</li>
<li>Thread safety in XPath evaluators</li>
</ul>
</div>
-<div class="section" id="id262">
+<div class="section" id="id267">
<h2>Other changes</h2>
<ul class="simple">
<li>Exceptions carry only the part of the error log that is related to
</ul>
</div>
</div>
-<div class="section" id="id263">
+<div class="section" id="id268">
<h1>1.3.6 (2007-10-29)</h1>
-<div class="section" id="id264">
+<div class="section" id="id269">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Backported decref crash fix from 2.0</li>
<li>Well hidden free-while-in-use crash bug in ObjectPath</li>
</ul>
</div>
-<div class="section" id="id265">
+<div class="section" id="id270">
<h2>Other changes</h2>
<ul class="simple">
<li>The test suites now run <tt class="docutils literal">gc.collect()</tt> in the <tt class="docutils literal">tearDown()</tt>
</ul>
</div>
</div>
-<div class="section" id="id266">
+<div class="section" id="id271">
<h1>1.3.5 (2007-10-22)</h1>
-<div class="section" id="id267">
+<div class="section" id="id272">
<h2>Features added</h2>
</div>
-<div class="section" id="id268">
+<div class="section" id="id273">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>lxml.etree could crash when adding more than 10000 namespaces to a
</ul>
</div>
</div>
-<div class="section" id="id269">
+<div class="section" id="id274">
<h1>1.3.4 (2007-08-30)</h1>
-<div class="section" id="id270">
+<div class="section" id="id275">
<h2>Features added</h2>
<ul class="simple">
<li>The <tt class="docutils literal">ElementMaker</tt> in <tt class="docutils literal">lxml.builder</tt> now accepts the keyword arguments
root node.</li>
</ul>
</div>
-<div class="section" id="id271">
+<div class="section" id="id276">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Parsing with the <tt class="docutils literal">no_network</tt> option could fail</li>
</ul>
</div>
-<div class="section" id="id272">
+<div class="section" id="id277">
<h2>Other changes</h2>
<ul class="simple">
<li>lxml now raises a TagNameWarning about tag names containing ':' instead of
</ul>
</div>
</div>
-<div class="section" id="id273">
+<div class="section" id="id278">
<h1>1.3.3 (2007-07-26)</h1>
-<div class="section" id="id274">
+<div class="section" id="id279">
<h2>Features added</h2>
<ul class="simple">
<li>ElementTree compatible parser <tt class="docutils literal">ETCompatXMLParser</tt> strips processing
<li>Support <tt class="docutils literal">base_url</tt> keyword argument in <tt class="docutils literal">HTML()</tt> and <tt class="docutils literal">XML()</tt></li>
</ul>
</div>
-<div class="section" id="id275">
+<div class="section" id="id280">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Parsing from Python Unicode strings failed on some platforms</li>
</ul>
</div>
</div>
-<div class="section" id="id276">
+<div class="section" id="id281">
<h1>1.3.2 (2007-07-03)</h1>
-<div class="section" id="id277">
+<div class="section" id="id282">
<h2>Features added</h2>
</div>
-<div class="section" id="id278">
+<div class="section" id="id283">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>"deallocating None" crash bug</li>
</ul>
</div>
</div>
-<div class="section" id="id279">
+<div class="section" id="id284">
<h1>1.3.1 (2007-07-02)</h1>
-<div class="section" id="id280">
+<div class="section" id="id285">
<h2>Features added</h2>
<ul class="simple">
<li>objectify.DataElement now supports setting values from existing data
<li>E-factory support for lxml.objectify (<tt class="docutils literal">objectify.E</tt>)</li>
</ul>
</div>
-<div class="section" id="id281">
+<div class="section" id="id286">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Better way to prevent crashes in Element proxy cleanup code</li>
</ul>
</div>
</div>
-<div class="section" id="id282">
+<div class="section" id="id287">
<h1>1.3 (2007-06-24)</h1>
-<div class="section" id="id283">
+<div class="section" id="id288">
<h2>Features added</h2>
<ul class="simple">
<li>Module <tt class="docutils literal">lxml.pyclasslookup</tt> module implements an Element class lookup
a better handling of namespaces when moving elements between documents.</li>
</ul>
</div>
-<div class="section" id="id284">
+<div class="section" id="id289">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Removing Elements from a tree could make them lose their namespace
documents</li>
</ul>
</div>
-<div class="section" id="id285">
+<div class="section" id="id290">
<h2>Other changes</h2>
<ul class="simple">
<li>major restructuring in the documentation</li>
</ul>
</div>
</div>
-<div class="section" id="id286">
+<div class="section" id="id291">
<h1>1.2.1 (2007-02-27)</h1>
-<div class="section" id="id287">
+<div class="section" id="id292">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Build fixes for MS compiler</li>
</ul>
</div>
</div>
-<div class="section" id="id288">
+<div class="section" id="id293">
<h1>1.2 (2007-02-20)</h1>
-<div class="section" id="id289">
+<div class="section" id="id294">
<h2>Features added</h2>
<ul class="simple">
<li>Rich comparison of QName objects</li>
shadowed.</li>
</ul>
</div>
-<div class="section" id="id290">
+<div class="section" id="id295">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Element instantiation now uses locks to prevent race conditions with threads</li>
<li>Element.find*() did not accept QName objects as path</li>
</ul>
</div>
-<div class="section" id="id291">
+<div class="section" id="id296">
<h2>Other changes</h2>
<ul class="simple">
<li>code cleanup: redundant _NodeBase super class merged into _Element class
</ul>
</div>
</div>
-<div class="section" id="id292">
+<div class="section" id="id297">
<h1>1.1.2 (2006-10-30)</h1>
-<div class="section" id="id293">
+<div class="section" id="id298">
<h2>Features added</h2>
<ul class="simple">
<li>Data elements in objectify support repr(), which is now used by dump()</li>
<li>Simplified support for handling XSLT processing instructions</li>
</ul>
</div>
-<div class="section" id="id294">
+<div class="section" id="id299">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Parser resources were not freed before the next parser run</li>
</ul>
</div>
</div>
-<div class="section" id="id295">
+<div class="section" id="id300">
<h1>1.1.1 (2006-09-21)</h1>
-<div class="section" id="id296">
+<div class="section" id="id301">
<h2>Features added</h2>
<ul class="simple">
<li>XSLT profiling support (<tt class="docutils literal">profile_run</tt> keyword)</li>
<li>Support custom elements for tree nodes in lxml.objectify</li>
</ul>
</div>
-<div class="section" id="id297">
+<div class="section" id="id302">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>lxml.objectify failed to support long data values (e.g., "123L")</li>
</ul>
</div>
</div>
-<div class="section" id="id298">
+<div class="section" id="id303">
<h1>1.1 (2006-09-13)</h1>
-<div class="section" id="id299">
+<div class="section" id="id304">
<h2>Features added</h2>
<ul class="simple">
<li>Comments and processing instructions return '<!-- comment -->' and
element</li>
</ul>
</div>
-<div class="section" id="id300">
+<div class="section" id="id305">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>filenames with local 8-bit encoding were not supported</li>
</ul>
</div>
</div>
-<div class="section" id="id301">
+<div class="section" id="id306">
<h1>1.0.4 (2006-09-09)</h1>
-<div class="section" id="id302">
+<div class="section" id="id307">
<h2>Features added</h2>
<ul class="simple">
<li>List-like <tt class="docutils literal">Element.extend()</tt> method</li>
</ul>
</div>
-<div class="section" id="id303">
+<div class="section" id="id308">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash in tail handling in <tt class="docutils literal">Element.replace()</tt></li>
</ul>
</div>
</div>
-<div class="section" id="id304">
+<div class="section" id="id309">
<h1>1.0.3 (2006-08-08)</h1>
-<div class="section" id="id305">
+<div class="section" id="id310">
<h2>Features added</h2>
<ul class="simple">
<li>Element.replace(old, new) method to replace a subelement by another one</li>
</ul>
</div>
-<div class="section" id="id306">
+<div class="section" id="id311">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Crash when mixing elements from XSLT results into other trees</li>
</ul>
</div>
</div>
-<div class="section" id="id307">
+<div class="section" id="id312">
<h1>1.0.2 (2006-06-27)</h1>
-<div class="section" id="id308">
+<div class="section" id="id313">
<h2>Features added</h2>
<ul class="simple">
<li>Support for setting a custom default Element class as opposed to namespace
specific classes (which still override the default class)</li>
</ul>
</div>
-<div class="section" id="id309">
+<div class="section" id="id314">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Rare exceptions in Python list functions were not handled</li>
</ul>
</div>
</div>
-<div class="section" id="id310">
+<div class="section" id="id315">
<h1>1.0.1 (2006-06-09)</h1>
-<div class="section" id="id311">
+<div class="section" id="id316">
<h2>Features added</h2>
<ul class="simple">
<li>Repeated calls to Element.attrib now efficiently return the same instance</li>
</ul>
</div>
-<div class="section" id="id312">
+<div class="section" id="id317">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Document deallocation could crash in certain garbage collection scenarios</li>
</ul>
</div>
</div>
-<div class="section" id="id313">
+<div class="section" id="id318">
<h1>1.0 (2006-06-01)</h1>
-<div class="section" id="id314">
+<div class="section" id="id319">
<h2>Features added</h2>
<ul class="simple">
<li>Element.getiterator() and the findall() methods support finding arbitrary
implementation of libxml2 (as opposed to ET compatible XMLID)</li>
</ul>
</div>
-<div class="section" id="id315">
+<div class="section" id="id320">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Memory leak in Element.__setitem__</li>
</ul>
</div>
</div>
-<div class="section" id="id316">
+<div class="section" id="id321">
<h1>0.9.2 (2006-05-10)</h1>
-<div class="section" id="id317">
+<div class="section" id="id322">
<h2>Features added</h2>
<ul class="simple">
<li>Speedup for Element.makeelement(): the new element reuses the original
<li>RelaxNG and XMLSchema accept any Element, not only ElementTrees</li>
</ul>
</div>
-<div class="section" id="id318">
+<div class="section" id="id323">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>str(xslt_result) was broken for XSLT output other than UTF-8</li>
</ul>
</div>
</div>
-<div class="section" id="id319">
+<div class="section" id="id324">
<h1>0.9.1 (2006-03-30)</h1>
-<div class="section" id="id320">
+<div class="section" id="id325">
<h2>Features added</h2>
<ul class="simple">
<li>lxml.sax.ElementTreeContentHandler checks closing elements and raises
<li>Minor API performance improvements</li>
</ul>
</div>
-<div class="section" id="id321">
+<div class="section" id="id326">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Memory deallocation bug when using XSLT output method "html"</li>
</ul>
</div>
</div>
-<div class="section" id="id322">
+<div class="section" id="id327">
<h1>0.9 (2006-03-20)</h1>
-<div class="section" id="id323">
+<div class="section" id="id328">
<h2>Features added</h2>
<ul class="simple">
<li>Error logging API for libxml2 error messages</li>
doc/sax.txt for more information.</li>
</ul>
</div>
-<div class="section" id="id324">
+<div class="section" id="id329">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Segfaults and memory leaks in various API functions of Element</li>
</ul>
</div>
</div>
-<div class="section" id="id325">
+<div class="section" id="id330">
<h1>0.8 (2005-11-03)</h1>
-<div class="section" id="id326">
+<div class="section" id="id331">
<h2>Features added</h2>
<ul class="simple">
<li>Support for copy.deepcopy() on elements. copy.copy() works also, but
SubElement.</li>
</ul>
</div>
-<div class="section" id="id327">
+<div class="section" id="id332">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Use xslt-config instead of xml2-config to find out libxml2
</ul>
</div>
</div>
-<div class="section" id="id328">
+<div class="section" id="id333">
<h1>0.7 (2005-06-15)</h1>
-<div class="section" id="id329">
+<div class="section" id="id334">
<h2>Features added</h2>
<ul class="simple">
<li>parameters (XPath expressions) can be passed to XSLT using keyword
in XML serialization.</li>
</ul>
</div>
-<div class="section" id="id330">
+<div class="section" id="id335">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Killed yet another memory management related bug: trees created
</ul>
</div>
</div>
-<div class="section" id="id331">
+<div class="section" id="id336">
<h1>0.6 (2005-05-14)</h1>
-<div class="section" id="id332">
+<div class="section" id="id337">
<h2>Features added</h2>
<ul class="simple">
<li>Changed setup.py so that library_dirs is also guessed. This should
<li>Tweaked setup.py so that it picks up the version from version.txt.</li>
</ul>
</div>
-<div class="section" id="id333">
+<div class="section" id="id338">
<h2>Bugs fixed</h2>
<ul class="simple">
<li>Do the right thing when handling namespaced attributes.</li>
</ul>
</div>
</div>
-<div class="section" id="id334">
+<div class="section" id="id339">
<h1>0.5.1 (2005-04-09)</h1>
<ul class="simple">
<li>Python 2.2 compatibility fixes.</li>
input wasn't properly being UTF-8 encoded.</li>
</ul>
</div>
-<div class="section" id="id335">
+<div class="section" id="id340">
<h1>0.5 (2005-04-08)</h1>
<p>Initial public release.</p>
</div>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>ElementTree compatibility of lxml.etree</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="elementtree-compatibility-of-lxml-etree">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu current" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">ElementTree compatibility of lxml.etree</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu current" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">ElementTree compatibility of lxml.etree</h1>
<p>A lot of care has been taken to ensure compatibility between etree and
ElementTree. Nonetheless, some differences and incompatibilities exist:</p>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Credits</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="credits">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu current" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Credits</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu current" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Credits</h1>
<div class="section" id="main-contributors">
<h1>Main contributors</h1>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>lxml.cssselect</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="lxml-cssselect">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu current" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">lxml.cssselect</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu current" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">lxml.cssselect</h1>
<p>lxml supports a number of interesting languages for tree traversal and element
selection. The most important is obviously <a class="reference external" href="xpathxslt.html#xpath">XPath</a>, but there is also
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Using custom Element classes in lxml</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="using-custom-element-classes-in-lxml">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu current" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Using custom Element classes in lxml</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu current" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Using custom Element classes in lxml</h1>
<p>lxml has very sophisticated support for custom Element classes. You
can provide your own classes for Elements and have lxml use them by
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>BeautifulSoup Parser</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="beautifulsoup-parser">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu current" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">BeautifulSoup Parser</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu current" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">BeautifulSoup Parser</h1>
<p><a class="reference external" href="http://www.crummy.com/software/BeautifulSoup/">BeautifulSoup</a> is a Python package for working with real-world and broken HTML,
just like <a class="reference external" href="lxmlhtml.html">lxml.html</a>. As of version 4.x, it can use
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Python extensions for XPath and XSLT</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="python-extensions-for-xpath-and-xslt">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu current" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Python extensions for XPath and XSLT</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu current" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Python extensions for XPath and XSLT</h1>
<p>This document describes how to use Python extension functions in XPath
and XSLT like this:</p>
<span class="gp">>>> </span><span class="k">print</span><span class="p">(</span><span class="n">e</span><span class="p">(</span><span class="s">'l:function1(string(b))'</span><span class="p">))</span>
<span class="go">1Haegar</span>
</pre></div>
-<p>The optional second argument to <tt class="docutils literal">Extension</tt> can either be be a
+<p>The optional second argument to <tt class="docutils literal">Extension</tt> can either be a
sequence of names to select from the module, a dictionary that
explicitly maps function names to their XPath alter-ego or <tt class="docutils literal">None</tt>
(explicitly passed) to take all available functions under their
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>html5lib Parser</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="html5lib-parser">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu current" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">html5lib Parser</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu current" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">html5lib Parser</h1>
<p><a class="reference external" href="http://code.google.com/p/html5lib/">html5lib</a> is a Python package that implements the HTML5 parsing algorithm
which is heavily influenced by current browsers and based on the <a class="reference external" href="http://www.whatwg.org/specs/web-apps/current-work/">WHATWG
<dt><tt class="docutils literal">fragment_fromstring(string, create_parent=False, guess_charset=False)</tt>:</dt>
<dd><p class="first">Returns an HTML fragment from a string. The fragment must contain
just a single element, unless <tt class="docutils literal">create_parent</tt> is given;
-e.g,. <tt class="docutils literal">fragment_fromstring(string, <span class="pre">create_parent='div')</span></tt> will
+e.g., <tt class="docutils literal">fragment_fromstring(string, <span class="pre">create_parent='div')</span></tt> will
wrap the element in a <tt class="docutils literal"><div></tt>. If <tt class="docutils literal">create_parent</tt> is true the
default parent tag (div) is used.</p>
<p class="last">If a bytestring is passed and <tt class="docutils literal">guess_charset</tt> is true the chardet
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta content="lxml - the most feature-rich and easy-to-use library for processing XML and HTML in the Python language" name="description" />
<meta content="Python XML, XML processing, HTML, lxml, simple XML, ElementTree, etree, lxml.etree, objectify, XML parsing, XML validation, XPath, XSLT" name="keywords" />
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="lxml">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu current" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">lxml - XML and HTML with Python</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu current" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">lxml - XML and HTML with Python</h1>
<div class="pagequote line-block">
<div class="line"><a class="reference external" href="http://thread.gmane.org/gmane.comp.python.lxml.devel/3252/focus=3258">» lxml takes all the pain out of XML. «</a></div>
</div>
<div class="section" id="documentation">
<h1>Documentation</h1>
-<p>The complete lxml documentation is available for download as <a class="reference external" href="lxmldoc-3.6.0.pdf">PDF
+<p>The complete lxml documentation is available for download as <a class="reference external" href="lxmldoc-3.6.1.pdf">PDF
documentation</a>. The HTML documentation from this web site is part of
the normal <a class="reference external" href="#download">source download</a>.</p>
<ul class="simple">
Index</a> (PyPI). It has the source
that compiles on various platforms. The source distribution is signed
with <a class="reference external" href="pubkey.asc">this key</a>.</p>
-<p>The latest version is <a class="reference external" href="/files/lxml-3.6.0.tgz">lxml 3.6.0</a>, released 2016-03-17
-(<a class="reference external" href="/changes-3.6.0.html">changes for 3.6.0</a>). <a class="reference external" href="#old-versions">Older versions</a>
+<p>The latest version is <a class="reference external" href="/files/lxml-3.6.1.tgz">lxml 3.6.1</a>, released 2016-07-24
+(<a class="reference external" href="/changes-3.6.1.html">changes for 3.6.1</a>). <a class="reference external" href="#old-versions">Older versions</a>
are listed below.</p>
<p>Please take a look at the
<a class="reference external" href="installation.html">installation instructions</a> !</p>
part of the source distribution, so if you want to download the
documentation for offline use, take the source archive and copy the
<tt class="docutils literal">doc/html</tt> directory out of the source tree, or use the
-<a class="reference external" href="lxmldoc-3.6.0.pdf">PDF documentation</a>.</p>
+<a class="reference external" href="lxmldoc-3.6.1.pdf">PDF documentation</a>.</p>
<p>The latest installable developer sources should usually be available from the
<a class="reference external" href="http://lxml.de/build/">build server</a>. It's also possible to check out
the latest development version of lxml from github directly, using a command
<a class="reference external" href="http://lxml.de/3.5/">3.5</a>
and the <a class="reference external" href="http://lxml.de/dev/">latest in-development version</a>.</p>
<ul class="simple">
+<li><a class="reference external" href="/files/lxml-3.6.1.tgz">lxml 3.6.1</a>, released 2016-07-24 (<a class="reference external" href="/changes-3.6.1.html">changes for 3.6.1</a>)</li>
<li><a class="reference external" href="/files/lxml-3.6.0.tgz">lxml 3.6.0</a>, released 2016-03-17 (<a class="reference external" href="/changes-3.6.0.html">changes for 3.6.0</a>)</li>
<li><a class="reference external" href="/files/lxml-3.5.0.tgz">lxml 3.5.0</a>, released 2015-11-13 (<a class="reference external" href="/changes-3.5.0.html">changes for 3.5.0</a>)</li>
<li><a class="reference external" href="/files/lxml-3.5.0b1.tgz">lxml 3.5.0b1</a>, released 2015-09-18 (<a class="reference external" href="/changes-3.5.0b1.html">changes for 3.5.0b1</a>)</li>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Installing lxml</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="installing-lxml">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu current" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Installing lxml</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu current" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Installing lxml</h1>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<p>If you are not using macports or want to use a more recent lxml
release, you have to build it yourself. While the pre-installed system
libraries of libxml2 and libxslt are less outdated in recent MacOS-X
-versions than they used to be, so lxml should work them them out of the
+versions than they used to be, so lxml should work with them out of the
box, it is still recommended to use a static build with the most recent
library versions.</p>
<p>Luckily, lxml's <tt class="docutils literal">setup.py</tt> script has built-in support for building
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Why lxml?</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="why-lxml">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu current" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Why lxml?</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu current" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Why lxml?</h1>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta content="How to read and work on the source code of lxml" name="description" />
<meta content="lxml, XML, Cython, source code, develop, comprehend, understand" name="keywords" />
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="how-to-read-the-source-of-lxml">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu current" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">How to read the source of lxml</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu current" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">How to read the source of lxml</h1>
<table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" />
<col class="docinfo-content" />
<dd>Parsers for XML and HTML. This is the main parser engine. It's
the reason why you can parse a document from various sources in
two lines of Python code. It's definitely not the right place to
-start reading lxml's soure code.</dd>
+start reading lxml's source code.</dd>
<dt>parsertarget.pxi</dt>
<dd>An ElementTree compatible parser target implementation based on
the SAX2 interface of libxml2.</dd>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<title>lxml.html</title>
<meta name="author" content="Ian Bicking" />
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="lxml-html">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu current" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">lxml.html</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu current" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">lxml.html</h1>
<table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" />
<col class="docinfo-content" />
<dt><tt class="docutils literal">fragment_fromstring(string, create_parent=False)</tt>:</dt>
<dd>Returns an HTML fragment from a string. The fragment must contain
just a single element, unless <tt class="docutils literal">create_parent</tt> is given;
-e.g,. <tt class="docutils literal">fragment_fromstring(string, <span class="pre">create_parent='div')</span></tt> will
+e.g., <tt class="docutils literal">fragment_fromstring(string, <span class="pre">create_parent='div')</span></tt> will
wrap the element in a <tt class="docutils literal"><div></tt>.</dd>
<dt><tt class="docutils literal">fragments_fromstring(string)</tt>:</dt>
<dd>Returns a list of the elements found in the fragment.</dd>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<title>lxml.objectify</title>
<meta name="authors" content="Stefan Behnel Holger Joukl" />
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="lxml-objectify">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu current" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">lxml.objectify</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu current" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">lxml.objectify</h1>
<table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" />
<col class="docinfo-content" />
<div class="syntax"><pre><span class="gp">>>> </span><span class="n">E</span> <span class="o">=</span> <span class="n">objectify</span><span class="o">.</span><span class="n">E</span>
<span class="gp">>>> </span><span class="n">root</span> <span class="o">=</span> <span class="n">E</span><span class="o">.</span><span class="n">root</span><span class="p">(</span>
<span class="gp">... </span> <span class="n">E</span><span class="o">.</span><span class="n">a</span><span class="p">(</span><span class="mi">5</span><span class="p">),</span>
-<span class="gp">... </span> <span class="n">E</span><span class="o">.</span><span class="n">b</span><span class="p">(</span><span class="mf">6.1</span><span class="p">),</span>
+<span class="gp">... </span> <span class="n">E</span><span class="o">.</span><span class="n">b</span><span class="p">(</span><span class="mf">6.21</span><span class="p">),</span>
<span class="gp">... </span> <span class="n">E</span><span class="o">.</span><span class="n">c</span><span class="p">(</span><span class="bp">True</span><span class="p">),</span>
<span class="gp">... </span> <span class="n">E</span><span class="o">.</span><span class="n">d</span><span class="p">(</span><span class="s">"how"</span><span class="p">,</span> <span class="n">tell</span><span class="o">=</span><span class="s">"me"</span><span class="p">)</span>
<span class="gp">... </span><span class="p">)</span>
<span class="gp">>>> </span><span class="k">print</span><span class="p">(</span><span class="n">etree</span><span class="o">.</span><span class="n">tostring</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="n">pretty_print</span><span class="o">=</span><span class="bp">True</span><span class="p">))</span>
<span class="go"><root xmlns:py="http://codespeak.net/lxml/objectify/pytype"></span>
<span class="go"> <a py:pytype="int">5</a></span>
-<span class="go"> <b py:pytype="float">6.1</b></span>
+<span class="go"> <b py:pytype="float">6.21</b></span>
<span class="go"> <c py:pytype="bool">true</c></span>
<span class="go"> <d py:pytype="str" tell="me">how</d></span>
<span class="go"></root></span>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Parsing XML and HTML with lxml</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="parsing-xml-and-html-with-lxml">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu current" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Parsing XML and HTML with lxml</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu current" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Parsing XML and HTML with lxml</h1>
<p>lxml provides a very simple and powerful API for parsing XML and HTML. It
supports one-step parsing as well as step-by-step parsing using an
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta content="Performance evaluation of lxml and ElementTree: fast operations, common pitfalls and optimisation hints." name="description" />
<meta content="Python XML parser performance, XML processing, performance comparison, lxml performance, lxml.etree, lxml.objectify, benchmarks, ElementTree" name="keywords" />
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="benchmarks-and-speed">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu current" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Benchmarks and Speed</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu current" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Benchmarks and Speed</h1>
<table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" />
<col class="docinfo-content" />
<p>Since then, lxml has matured a lot and has gotten much faster. The iterparse
variant now runs in 0.14 seconds, and if you remove the <tt class="docutils literal">v.clear()</tt>, it is
even a little faster (which isn't the case for cElementTree).</p>
-<p>One of the many great tools in lxml is XPath, a swiss army knife for finding
+<p>One of the many great tools in lxml is XPath, a Swiss army knife for finding
things in XML documents. It is possible to move the whole thing to a pure
XPath implementation, which looks like this:</p>
<div class="syntax"><pre><span class="k">def</span> <span class="nf">bench_lxml_xpath_all</span><span class="p">():</span>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Document loading and URL resolving</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="document-loading-and-url-resolving">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu current" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Document loading and URL resolving</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu current" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Document loading and URL resolving</h1>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Sax support</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="sax-support">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu current" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Sax support</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu current" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Sax support</h1>
<p>In this document we'll describe lxml's SAX support. lxml has support for
producing SAX events for an ElementTree or Element. lxml can also turn SAX
<h1>Interfacing with pulldom/minidom</h1>
<p>lxml.sax is a simple way to interface with the standard XML support in the
Python library. Note, however, that this is a one-way solution, as Python's
-DOM implementation connot generate SAX events from a DOM tree.</p>
+DOM implementation cannot generate SAX events from a DOM tree.</p>
<p>You can use xml.dom.pulldom to build a minidom from lxml:</p>
<div class="syntax"><pre><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">xml.dom.pulldom</span> <span class="kn">import</span> <span class="n">SAX2DOM</span>
<span class="gp">>>> </span><span class="n">handler</span> <span class="o">=</span> <span class="n">SAX2DOM</span><span class="p">()</span>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Sitemap of lxml.de - Processing XML and HTML with Python</title>
- <meta content="lxml - the most feature-rich and easy-to-use library for processing XML and HTML in the Python language" name="description" />
- <meta content="Python XML, XML, XML processing, HTML, lxml, simple XML, ElementTree, etree, lxml.etree, objectify, XML parsing, XML validation, XPath, XSLT" name="keywords" />
- </head>
- <body>
- <h1>Sitemap of lxml.de - Processing XML and HTML with Python</h1>
- <div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/files/">Download files</a></li></ul></div></body>
- </html>
\ No newline at end of file
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>Sitemap of lxml.de - Processing XML and HTML with Python</title>
+ <meta content="lxml - the most feature-rich and easy-to-use library for processing XML and HTML in the Python language" name="description" />
+ <meta content="Python XML, XML, XML processing, HTML, lxml, simple XML, ElementTree, etree, lxml.etree, objectify, XML parsing, XML validation, XPath, XSLT" name="keywords" />
+ </head>
+ <body>
+ <h1>Sitemap of lxml.de - Processing XML and HTML with Python</h1>
+ <div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li></ul><li><a href="http://lxml.de/files/">Download files</a></li></div></div></body>
+</html>
\ No newline at end of file
body {
- font: 13px Arial, Verdana, Helvetica, sans-serif;
+ font: 11pt Arial, Verdana, Helvetica, sans-serif;
text-align: center;
}
-@media screen {
+@media screen and (min-width: 960px) and (min-height: 720px) and (max-resolution: 150dpi),
+ screen and (min-width: 1280px) and (min-height: 720px) {
body {
- padding: 1em 1em 1em 21em;
+ padding: 1em 3em 1em 26em;
}
+}
+@media screen {
div.document, div.footer {
- width: 45em;
+ max-width: 45em;
background-color: white;
}
}
@media print {
div.document, div.footer {
width: auto;
- padding-left: 0px;
+ padding-left: 0;
}
div.sidemenu {
/*** side menu ***/
-div.sidemenu {
- position: absolute;
- top: 0;
- left: 0;
- width: 26em;
- font-size: 10px;
- text-align: left;
- border-right: groove gray;
- border-bottom: groove gray;
- padding-right: 1ex;
- background: #FFFAFA url(python-xml.png) no-repeat top right;
+@media (min-width: 1280px) and (min-height: 720px),
+ (min-width: 960px) and (min-height: 720px) and (max-resolution: 150dpi) {
+ div.sidemenu .menutrigger {
+ display: none;
+ }
+
+ div.sidemenu {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 26em;
+ font-size: 8pt;
+ text-align: left;
+ border-right: groove gray;
+ border-bottom: groove gray;
+ padding-right: 1ex;
+ background: #FFFAFA url(python-xml.png) no-repeat top right;
+ }
+
+ html > body div.sidemenu {
+ /* ignored by IE -> everyone else knows 'fixed', right? */
+ position: fixed;
+ }
}
-html > body div.sidemenu {
- /* ignored by IE -> everyone else knows 'fixed', right? */
- position: fixed;
+@media (max-width: 959px), (max-height: 719px), (max-width: 1279px) and (min-resolution: 151dpi) {
+ div.sidemenu > div.menutrigger {
+ display: block;
+ border: solid darkgreen 2px;
+ padding: 2px;
+ text-align: center;
+ width: 6ex;
+ }
+
+ div.sidemenu > div.menu {
+ display: none;
+ position: absolute;
+ z-index: 999;
+ font-size: 9pt;
+ text-align: left;
+ border: groove gray;
+ padding-right: 1ex;
+ background: #FFFAFA url(python-xml.png) no-repeat top right;
+ }
+
+ div.sidemenu:hover > div.menu,
+ div.sidemenu.visible > div.menu {
+ display: block;
+ }
}
-div.sidemenu span.section.title {
+div.sidemenu > div.menu span.section.title {
line-height: 1.2em;
font-size: 130%;
}
-div.sidemenu ul.menu.current li {
+div.sidemenu > div.menu ul.menu.current li {
color: #CC0000;
font-size: 105%;
}
-div.sidemenu ul.menu.current > li > a {
+div.sidemenu > div.menu ul.menu.current > li > a {
color: #CC0000;
}
-div.sidemenu ul.menu.current ul.submenu {
+div.sidemenu > div.menu ul.menu.current ul.submenu {
display: block;
}
-div.sidemenu ul.menu.foreign ul.submenu li {
+div.sidemenu > div.menu ul.menu.foreign ul.submenu li {
padding-top: 2px;
padding-bottom: 2px;
}
-div.sidemenu ul.menu.foreign li.menu:hover ul.submenu {
+div.sidemenu > div.menu ul.menu.foreign li.menu:hover ul.submenu {
display: block;
position: absolute;
border: groove #990000;
background-color: white;
}
-div.sidemenu ul.submenu {
+div.sidemenu > div.menu ul.submenu {
display: none;
}
-div.sidemenu ul {
+div.sidemenu > div.menu ul {
line-height: 1em;
margin: 1ex;
padding-left: 1em;
h1.title {
background: url(python-xml-title.png) no-repeat;
padding: 20px 0 0 160px;
- height: 60px;
+ min-height: 60px;
font-size: 200%;
}
content: "\00BB" " ";
}
-ul {
+div.section ul {
line-height: 1.5em;
- margin-left: 1em;
+ padding-left: 1ex;
+ margin-left: 1.5em;
+}
+
+div.section li {
+ padding-left: 0;
}
ol {
text-align: center;
font-size: 140%;
line-height: 1.2em;
- margin-left: 9em;
- margin-right: 9em;
+ margin-left: 12%;
+ margin-right: 12%;
}
div.pagequote {
top: 0;
right: 0;
padding: 10px 10px 0 0;
+ margin-left: 6em;
text-align: right;
font-size: 80%;
color: #990000;
<meta content="The lxml tutorial on XML processing with Python" name="description" />
<meta content="XML processing with Python, lxml, lxml.etree, tutorial, ElementTree, Python, XML, HTML" name="keywords" />
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="the-lxml-etree-tutorial">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu current" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">The lxml.etree Tutorial</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu current" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">The lxml.etree Tutorial</h1>
<table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" />
<col class="docinfo-content" />
<span class="gp">>>> </span><span class="n">root</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">etree</span><span class="o">.</span><span class="n">Comment</span><span class="p">(</span><span class="s">"some comment"</span><span class="p">))</span>
<span class="gp">>>> </span><span class="k">for</span> <span class="n">element</span> <span class="ow">in</span> <span class="n">root</span><span class="o">.</span><span class="n">iter</span><span class="p">():</span>
-<span class="gp">... </span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">element</span><span class="o">.</span><span class="n">tag</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span>
+<span class="gp">... </span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">element</span><span class="o">.</span><span class="n">tag</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span> <span class="c"># or 'str' in Python 3</span>
<span class="gp">... </span> <span class="k">print</span><span class="p">(</span><span class="s">"</span><span class="si">%s</span><span class="s"> - </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">element</span><span class="o">.</span><span class="n">tag</span><span class="p">,</span> <span class="n">element</span><span class="o">.</span><span class="n">text</span><span class="p">))</span>
<span class="gp">... </span> <span class="k">else</span><span class="p">:</span>
<span class="gp">... </span> <span class="k">print</span><span class="p">(</span><span class="s">"SPECIAL: </span><span class="si">%s</span><span class="s"> - </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">element</span><span class="p">,</span> <span class="n">element</span><span class="o">.</span><span class="n">text</span><span class="p">))</span>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>Validation with lxml</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="validation-with-lxml">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu current" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">Validation with lxml</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu current" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu foreign" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">Validation with lxml</h1>
<p>Apart from the built-in DTD support in parsers, lxml currently supports three
schema languages: <a class="reference external" href="http://en.wikipedia.org/wiki/Document_Type_Definition">DTD</a>, <a class="reference external" href="http://www.relaxng.org/">Relax NG</a> and <a class="reference external" href="http://www.w3.org/XML/Schema">XML Schema</a>. All three provide
DTD from the parsed document using the <tt class="docutils literal">docinfo</tt> property of the
result ElementTree object. The internal subset is available as
<tt class="docutils literal">internalDTD</tt>, the external subset is provided as <tt class="docutils literal">externalDTD</tt>.</p>
-<p>The third way way to activate DTD loading is with the
+<p>The third way to activate DTD loading is with the
<tt class="docutils literal">attribute_defaults</tt> option, which loads the DTD and weaves
attribute default values into the document. Again, no validation is
performed unless explicitly requested.</p>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
<title>XPath and XSLT with lxml</title>
<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
+<script type="text/javascript">
+function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+}
+function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+}
+</script><meta content="width=device-width, initial-scale=1" name="viewport" /></head>
+<body onclick="hide_menu()">
<div class="document" id="xpath-and-xslt-with-lxml">
-<div class="sidemenu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu current" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 0-menu"><li class="menu title"><a href="changes-3.6.0.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div><h1 class="title">XPath and XSLT with lxml</h1>
+<div class="sidemenu" id="sidemenu"><div class="menutrigger" onclick="trigger_menu(event)">Menu</div><div class="menu"><ul id="lxml-section"><li><span class="section title">lxml</span><ul class="menu foreign" id="index-menu"><li class="menu title"><a href="index.html">lxml</a><ul class="submenu"><li class="menu item"><a href="index.html#introduction">Introduction</a></li><li class="menu item"><a href="index.html#support-the-project">Support the project</a></li><li class="menu item"><a href="index.html#documentation">Documentation</a></li><li class="menu item"><a href="index.html#download">Download</a></li><li class="menu item"><a href="index.html#mailing-list">Mailing list</a></li><li class="menu item"><a href="index.html#bug-tracker">Bug tracker</a></li><li class="menu item"><a href="index.html#license">License</a></li><li class="menu item"><a href="index.html#old-versions">Old Versions</a></li><li class="menu item"><a href="index.html#legal-notice-for-donations">Legal Notice for Donations</a></li></ul></li></ul><ul class="menu foreign" id="intro-menu"><li class="menu title"><a href="intro.html">Why lxml?</a><ul class="submenu"><li class="menu item"><a href="intro.html#motto">Motto</a></li><li class="menu item"><a href="intro.html#aims">Aims</a></li></ul></li></ul><ul class="menu foreign" id="installation-menu"><li class="menu title"><a href="installation.html">Installing lxml</a><ul class="submenu"><li class="menu item"><a href="installation.html#where-to-get-it">Where to get it</a></li><li class="menu item"><a href="installation.html#requirements">Requirements</a></li><li class="menu item"><a href="installation.html#installation">Installation</a></li><li class="menu item"><a href="installation.html#building-lxml-from-dev-sources">Building lxml from dev sources</a></li><li class="menu item"><a href="installation.html#using-lxml-with-python-libxml2">Using lxml with python-libxml2</a></li><li class="menu item"><a href="installation.html#source-builds-on-ms-windows">Source builds on MS Windows</a></li><li class="menu item"><a href="installation.html#source-builds-on-macos-x">Source builds on MacOS-X</a></li></ul></li></ul><ul class="menu foreign" id="performance-menu"><li class="menu title"><a href="performance.html">Benchmarks and Speed</a><ul class="submenu"><li class="menu item"><a href="performance.html#general-notes">General notes</a></li><li class="menu item"><a href="performance.html#how-to-read-the-timings">How to read the timings</a></li><li class="menu item"><a href="performance.html#parsing-and-serialising">Parsing and Serialising</a></li><li class="menu item"><a href="performance.html#the-elementtree-api">The ElementTree API</a></li><li class="menu item"><a href="performance.html#xpath">XPath</a></li><li class="menu item"><a href="performance.html#a-longer-example">A longer example</a></li><li class="menu item"><a href="performance.html#lxml-objectify">lxml.objectify</a></li></ul></li></ul><ul class="menu foreign" id="compatibility-menu"><li class="menu title"><a href="compatibility.html">ElementTree compatibility of lxml.etree</a></li></ul><ul class="menu foreign" id="FAQ-menu"><li class="menu title"><a href="FAQ.html">lxml FAQ - Frequently Asked Questions</a><ul class="submenu"><li class="menu item"><a href="FAQ.html#general-questions">General Questions</a></li><li class="menu item"><a href="FAQ.html#installation">Installation</a></li><li class="menu item"><a href="FAQ.html#contributing">Contributing</a></li><li class="menu item"><a href="FAQ.html#bugs">Bugs</a></li><li class="menu item"><a href="FAQ.html#id1">Threading</a></li><li class="menu item"><a href="FAQ.html#parsing-and-serialisation">Parsing and Serialisation</a></li><li class="menu item"><a href="FAQ.html#xpath-and-document-traversal">XPath and Document Traversal</a></li></ul></li></ul></li></ul><ul id="Developing with lxml-section"><li><span class="section title">Developing with lxml</span><ul class="menu foreign" id="tutorial-menu"><li class="menu title"><a href="tutorial.html">The lxml.etree Tutorial</a><ul class="submenu"><li class="menu item"><a href="tutorial.html#the-element-class">The Element class</a></li><li class="menu item"><a href="tutorial.html#the-elementtree-class">The ElementTree class</a></li><li class="menu item"><a href="tutorial.html#parsing-from-strings-and-files">Parsing from strings and files</a></li><li class="menu item"><a href="tutorial.html#namespaces">Namespaces</a></li><li class="menu item"><a href="tutorial.html#the-e-factory">The E-factory</a></li><li class="menu item"><a href="tutorial.html#elementpath">ElementPath</a></li></ul></li></ul><ul class="menu foreign" id="api index-menu"><li class="menu title"><a href="api/index.html">API reference</a></li></ul><ul class="menu foreign" id="api-menu"><li class="menu title"><a href="api.html">APIs specific to lxml.etree</a><ul class="submenu"><li class="menu item"><a href="api.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="api.html#other-element-apis">Other Element APIs</a></li><li class="menu item"><a href="api.html#trees-and-documents">Trees and Documents</a></li><li class="menu item"><a href="api.html#iteration">Iteration</a></li><li class="menu item"><a href="api.html#error-handling-on-exceptions">Error handling on exceptions</a></li><li class="menu item"><a href="api.html#error-logging">Error logging</a></li><li class="menu item"><a href="api.html#serialisation">Serialisation</a></li><li class="menu item"><a href="api.html#incremental-xml-generation">Incremental XML generation</a></li><li class="menu item"><a href="api.html#cdata">CDATA</a></li><li class="menu item"><a href="api.html#xinclude-and-elementinclude">XInclude and ElementInclude</a></li><li class="menu item"><a href="api.html#write-c14n-on-elementtree">write_c14n on ElementTree</a></li></ul></li></ul><ul class="menu foreign" id="parsing-menu"><li class="menu title"><a href="parsing.html">Parsing XML and HTML with lxml</a><ul class="submenu"><li class="menu item"><a href="parsing.html#parsers">Parsers</a></li><li class="menu item"><a href="parsing.html#the-target-parser-interface">The target parser interface</a></li><li class="menu item"><a href="parsing.html#the-feed-parser-interface">The feed parser interface</a></li><li class="menu item"><a href="parsing.html#incremental-event-parsing">Incremental event parsing</a></li><li class="menu item"><a href="parsing.html#iterparse-and-iterwalk">iterparse and iterwalk</a></li><li class="menu item"><a href="parsing.html#python-unicode-strings">Python unicode strings</a></li></ul></li></ul><ul class="menu foreign" id="validation-menu"><li class="menu title"><a href="validation.html">Validation with lxml</a><ul class="submenu"><li class="menu item"><a href="validation.html#validation-at-parse-time">Validation at parse time</a></li><li class="menu item"><a href="validation.html#id1">DTD</a></li><li class="menu item"><a href="validation.html#relaxng">RelaxNG</a></li><li class="menu item"><a href="validation.html#xmlschema">XMLSchema</a></li><li class="menu item"><a href="validation.html#id2">Schematron</a></li><li class="menu item"><a href="validation.html#id3">(Pre-ISO-Schematron)</a></li></ul></li></ul><ul class="menu current" id="xpathxslt-menu"><li class="menu title"><a href="xpathxslt.html">XPath and XSLT with lxml</a><ul class="submenu"><li class="menu item"><a href="xpathxslt.html#xpath">XPath</a></li><li class="menu item"><a href="xpathxslt.html#xslt">XSLT</a></li></ul></li></ul><ul class="menu foreign" id="objectify-menu"><li class="menu title"><a href="objectify.html">lxml.objectify</a><ul class="submenu"><li class="menu item"><a href="objectify.html#the-lxml-objectify-api">The lxml.objectify API</a></li><li class="menu item"><a href="objectify.html#asserting-a-schema">Asserting a Schema</a></li><li class="menu item"><a href="objectify.html#objectpath">ObjectPath</a></li><li class="menu item"><a href="objectify.html#python-data-types">Python data types</a></li><li class="menu item"><a href="objectify.html#how-data-types-are-matched">How data types are matched</a></li><li class="menu item"><a href="objectify.html#what-is-different-from-lxml-etree">What is different from lxml.etree?</a></li></ul></li></ul><ul class="menu foreign" id="lxmlhtml-menu"><li class="menu title"><a href="lxmlhtml.html">lxml.html</a><ul class="submenu"><li class="menu item"><a href="lxmlhtml.html#parsing-html">Parsing HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-element-methods">HTML Element Methods</a></li><li class="menu item"><a href="lxmlhtml.html#running-html-doctests">Running HTML doctests</a></li><li class="menu item"><a href="lxmlhtml.html#creating-html-with-the-e-factory">Creating HTML with the E-factory</a></li><li class="menu item"><a href="lxmlhtml.html#working-with-links">Working with links</a></li><li class="menu item"><a href="lxmlhtml.html#forms">Forms</a></li><li class="menu item"><a href="lxmlhtml.html#cleaning-up-html">Cleaning up HTML</a></li><li class="menu item"><a href="lxmlhtml.html#html-diff">HTML Diff</a></li><li class="menu item"><a href="lxmlhtml.html#examples">Examples</a></li></ul></li></ul><ul class="menu foreign" id="cssselect-menu"><li class="menu title"><a href="cssselect.html">lxml.cssselect</a><ul class="submenu"><li class="menu item"><a href="cssselect.html#the-cssselector-class">The CSSSelector class</a></li><li class="menu item"><a href="cssselect.html#the-cssselect-method">The cssselect method</a></li><li class="menu item"><a href="cssselect.html#supported-selectors">Supported Selectors</a></li><li class="menu item"><a href="cssselect.html#namespaces">Namespaces</a></li></ul></li></ul><ul class="menu foreign" id="elementsoup-menu"><li class="menu title"><a href="elementsoup.html">BeautifulSoup Parser</a><ul class="submenu"><li class="menu item"><a href="elementsoup.html#parsing-with-the-soupparser">Parsing with the soupparser</a></li><li class="menu item"><a href="elementsoup.html#entity-handling">Entity handling</a></li><li class="menu item"><a href="elementsoup.html#using-soupparser-as-a-fallback">Using soupparser as a fallback</a></li><li class="menu item"><a href="elementsoup.html#using-only-the-encoding-detection">Using only the encoding detection</a></li></ul></li></ul><ul class="menu foreign" id="html5parser-menu"><li class="menu title"><a href="html5parser.html">html5lib Parser</a><ul class="submenu"><li class="menu item"><a href="html5parser.html#differences-to-regular-html-parsing">Differences to regular HTML parsing</a></li><li class="menu item"><a href="html5parser.html#function-reference">Function Reference</a></li></ul></li></ul></li></ul><ul id="Extending lxml-section"><li><span class="section title">Extending lxml</span><ul class="menu foreign" id="resolvers-menu"><li class="menu title"><a href="resolvers.html">Document loading and URL resolving</a><ul class="submenu"><li class="menu item"><a href="resolvers.html#xml-catalogs">XML Catalogs</a></li><li class="menu item"><a href="resolvers.html#uri-resolvers">URI Resolvers</a></li><li class="menu item"><a href="resolvers.html#document-loading-in-context">Document loading in context</a></li><li class="menu item"><a href="resolvers.html#i-o-access-control-in-xslt">I/O access control in XSLT</a></li></ul></li></ul><ul class="menu foreign" id="extensions-menu"><li class="menu title"><a href="extensions.html">Python extensions for XPath and XSLT</a><ul class="submenu"><li class="menu item"><a href="extensions.html#xpath-extension-functions">XPath Extension functions</a></li><li class="menu item"><a href="extensions.html#xslt-extension-elements">XSLT extension elements</a></li></ul></li></ul><ul class="menu foreign" id="element classes-menu"><li class="menu title"><a href="element_classes.html">Using custom Element classes in lxml</a><ul class="submenu"><li class="menu item"><a href="element_classes.html#background-on-element-proxies">Background on Element proxies</a></li><li class="menu item"><a href="element_classes.html#element-initialization">Element initialization</a></li><li class="menu item"><a href="element_classes.html#setting-up-a-class-lookup-scheme">Setting up a class lookup scheme</a></li><li class="menu item"><a href="element_classes.html#generating-xml-with-custom-classes">Generating XML with custom classes</a></li><li class="menu item"><a href="element_classes.html#id1">Implementing namespaces</a></li></ul></li></ul><ul class="menu foreign" id="sax-menu"><li class="menu title"><a href="sax.html">Sax support</a><ul class="submenu"><li class="menu item"><a href="sax.html#building-a-tree-from-sax-events">Building a tree from SAX events</a></li><li class="menu item"><a href="sax.html#producing-sax-events-from-an-elementtree-or-element">Producing SAX events from an ElementTree or Element</a></li><li class="menu item"><a href="sax.html#interfacing-with-pulldom-minidom">Interfacing with pulldom/minidom</a></li></ul></li></ul><ul class="menu foreign" id="capi-menu"><li class="menu title"><a href="capi.html">The public C-API of lxml.etree</a><ul class="submenu"><li class="menu item"><a href="capi.html#writing-external-modules-in-cython">Writing external modules in Cython</a></li><li class="menu item"><a href="capi.html#writing-external-modules-in-c">Writing external modules in C</a></li></ul></li></ul></li></ul><ul id="Developing lxml-section"><li><span class="section title">Developing lxml</span><ul class="menu foreign" id="build-menu"><li class="menu title"><a href="build.html">How to build lxml from source</a><ul class="submenu"><li class="menu item"><a href="build.html#cython">Cython</a></li><li class="menu item"><a href="build.html#github-git-and-hg">Github, git and hg</a></li><li class="menu item"><a href="build.html#building-the-sources">Building the sources</a></li><li class="menu item"><a href="build.html#running-the-tests-and-reporting-errors">Running the tests and reporting errors</a></li><li class="menu item"><a href="build.html#building-an-egg-or-wheel">Building an egg or wheel</a></li><li class="menu item"><a href="build.html#building-lxml-on-macos-x">Building lxml on MacOS-X</a></li><li class="menu item"><a href="build.html#static-linking-on-windows">Static linking on Windows</a></li><li class="menu item"><a href="build.html#building-debian-packages-from-svn-sources">Building Debian packages from SVN sources</a></li></ul></li></ul><ul class="menu foreign" id="lxml source howto-menu"><li class="menu title"><a href="lxml-source-howto.html">How to read the source of lxml</a><ul class="submenu"><li class="menu item"><a href="lxml-source-howto.html#what-is-cython">What is Cython?</a></li><li class="menu item"><a href="lxml-source-howto.html#where-to-start">Where to start?</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-etree">lxml.etree</a></li><li class="menu item"><a href="lxml-source-howto.html#python-modules">Python modules</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-objectify">lxml.objectify</a></li><li class="menu item"><a href="lxml-source-howto.html#lxml-html">lxml.html</a></li></ul></li></ul><ul class="menu foreign" id="changes 3 6 1-menu"><li class="menu title"><a href="changes-3.6.1.html">Release Changelog</a></li></ul><ul class="menu foreign" id="credits-menu"><li class="menu title"><a href="credits.html">Credits</a><ul class="submenu"><li class="menu item"><a href="credits.html#main-contributors">Main contributors</a></li><li class="menu item"><a href="credits.html#special-thanks-goes-to">Special thanks goes to:</a></li></ul></li></ul></li><li><a href="http://lxml.de/sitemap.html">Sitemap</a></li></ul></div></div><h1 class="title">XPath and XSLT with lxml</h1>
<p>lxml supports XPath 1.0, XSLT 1.0 and the EXSLT extensions through
libxml2 and libxslt in a standards compliant way.</p>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2016-03-17.
+Generated on: 2016-07-24.
</div>
</body>
``fragment_fromstring(string, create_parent=False, guess_charset=False)``:
Returns an HTML fragment from a string. The fragment must contain
just a single element, unless ``create_parent`` is given;
- e.g,. ``fragment_fromstring(string, create_parent='div')`` will
+ e.g., ``fragment_fromstring(string, create_parent='div')`` will
wrap the element in a ``<div>``. If ``create_parent`` is true the
default parent tag (div) is used.
Parsers for XML and HTML. This is the main parser engine. It's
the reason why you can parse a document from various sources in
two lines of Python code. It's definitely not the right place to
- start reading lxml's soure code.
+ start reading lxml's source code.
parsertarget.pxi
An ElementTree compatible parser target implementation based on
``fragment_fromstring(string, create_parent=False)``:
Returns an HTML fragment from a string. The fragment must contain
just a single element, unless ``create_parent`` is given;
- e.g,. ``fragment_fromstring(string, create_parent='div')`` will
+ e.g., ``fragment_fromstring(string, create_parent='div')`` will
wrap the element in a ``<div>``.
``fragments_fromstring(string)``:
that compiles on various platforms. The source distribution is signed
with `this key <pubkey.asc>`_.
-The latest version is `lxml 3.6.0`_, released 2016-03-17
-(`changes for 3.6.0`_). `Older versions <#old-versions>`_
+The latest version is `lxml 3.6.1`_, released 2016-07-24
+(`changes for 3.6.1`_). `Older versions <#old-versions>`_
are listed below.
Please take a look at the
`3.5 <http://lxml.de/3.5/>`_
and the `latest in-development version <http://lxml.de/dev/>`_.
-.. _`PDF documentation`: lxmldoc-3.6.0.pdf
+.. _`PDF documentation`: lxmldoc-3.6.1.pdf
+
+* `lxml 3.6.1`_, released 2016-07-24 (`changes for 3.6.1`_)
* `lxml 3.6.0`_, released 2016-03-17 (`changes for 3.6.0`_)
* `older releases <http://lxml.de/3.4/#old-versions>`_
+.. _`lxml 3.6.1`: /files/lxml-3.6.1.tgz
.. _`lxml 3.6.0`: /files/lxml-3.6.0.tgz
.. _`lxml 3.5.0`: /files/lxml-3.5.0.tgz
.. _`lxml 3.5.0b1`: /files/lxml-3.5.0b1.tgz
.. _`lxml 3.4.1`: /files/lxml-3.4.1.tgz
.. _`lxml 3.4.0`: /files/lxml-3.4.0.tgz
+.. _`changes for 3.6.1`: /changes-3.6.1.html
.. _`changes for 3.6.0`: /changes-3.6.0.html
.. _`changes for 3.5.0`: /changes-3.5.0.html
.. _`changes for 3.5.0b1`: /changes-3.5.0b1.html
This means that the whole tree in such a condition can be freed.
-Detecting whether a Node is in a tree thas has no Proxies connected to
+Detecting whether a Node is in a tree that has no Proxies connected to
it can be done by relying on Python's garbage collection
algorithm. Each Proxy can have a reference to the Proxy that points to
the top of the tree. In case of a document tree, this reference is to
+from __future__ import absolute_import
+
from docstructure import SITE_STRUCTURE, HREF_MAP, BASENAME_MAP
from lxml.etree import (parse, fromstring, ElementTree,
Element, SubElement, XPath, XML)
import sys
import copy
import shutil
+import textwrap
import subprocess
try:
])
XHTML_NS = 'http://www.w3.org/1999/xhtml'
-htmlnsmap = {"h" : XHTML_NS}
+htmlnsmap = {"h": XHTML_NS}
+find_head = XPath("/h:html/h:head[1]", namespaces=htmlnsmap)
+find_body = XPath("/h:html/h:body[1]", namespaces=htmlnsmap)
find_title = XPath("/h:html/h:head/h:title/text()", namespaces=htmlnsmap)
find_title_tag = XPath("/h:html/h:head/h:title", namespaces=htmlnsmap)
find_headings = XPath("//h:h1[not(@class)]//text()", namespaces=htmlnsmap)
find_words = re.compile('(\w+)').findall
replace_invalid = re.compile(r'[-_/.\s\\]').sub
+
def make_menu_section_head(section, menuroot):
section_id = section + '-section'
section_head = menuroot.xpath("//ul[@id=$section]/li", section=section_id)
section_head = section_head[0]
return section_head
+
def build_menu(tree, basename, section_head):
page_title = find_title(tree)
if page_title:
build_menu_entry(page_title, basename+".html", section_head,
headings=find_headings(tree))
+
def build_menu_entry(page_title, url, section_head, headings=None):
page_id = replace_invalid(' ', os.path.splitext(url)[0]) + '-menu'
ul = SubElement(section_head, "ul", {"class":"menu foreign", "id":page_id})
ref = None
if ref is None:
ref = '-'.join(find_words(replace_invalid(' ', heading.lower())))
- a = SubElement(li, "a", href=url+'#'+ref)
+ a = SubElement(li, "a", href=url+'#'+ref)
a.text = heading
+
def merge_menu(tree, menu, name):
menu_root = copy.deepcopy(menu)
- tree.getroot()[1][0].insert(0, menu_root) # html->body->div[class=document]
+ tree.getroot()[1][0].insert(0, menu_root) # html->body->div[class=document]
for el in menu_root.iter():
tag = el.tag
if tag[0] != '{':
replace("foreign", "current"))
return tree
+
def inject_flatter_button(tree):
head = tree.xpath('h:head[1]', namespaces=htmlnsmap)[0]
script = SubElement(head, '{%s}script' % XHTML_NS, type='text/javascript')
'</p>'
))
+
def inject_donate_buttons(lxml_path, rst2html_script, tree):
command = ([sys.executable, rst2html_script]
+ RST2HTML_OPTIONS.split() + [os.path.join(lxml_path, 'README.rst')])
last_div = tree.xpath('h:body//h:div//h:div', namespaces=htmlnsmap)[-1]
last_div.addnext(legal)
+
def rest2html(script, source_path, dest_path, stylesheet_url):
command = ('%s %s %s --stylesheet=%s --link-stylesheet %s > %s' %
(sys.executable, script, RST2HTML_OPTIONS,
stylesheet_url, source_path, dest_path))
subprocess.call(command, shell=True)
+
def convert_changelog(lxml_path, changelog_file_path, rst2html_script, stylesheet_url):
f = open_file(os.path.join(lxml_path, 'CHANGES.txt'), 'r', encoding='utf-8')
try:
finally:
out_file.close()
+
def publish(dirname, lxml_path, release):
if not os.path.exists(dirname):
os.mkdir(dirname)
changelog_basename = 'changes-%s' % release
href_map['Release Changelog'] = changelog_basename + '.html'
+ menu_js = textwrap.dedent('''
+ function trigger_menu(event) {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ classes = (classes.indexOf(" visible") === -1) ? classes + " visible" : classes.replace(" visible", "");
+ sidemenu.setAttribute("class", classes);
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ function hide_menu() {
+ var sidemenu = document.getElementById("sidemenu");
+ var classes = sidemenu.getAttribute("class");
+ if (classes.indexOf(" visible") !== -1) {
+ sidemenu.setAttribute("class", classes.replace(" visible", ""));
+ }
+ }
+ ''')
+
trees = {}
- menu = Element("div", {"class":"sidemenu"})
+ menu = Element("div", {'class': 'sidemenu', 'id': 'sidemenu'})
+ SubElement(menu, 'div', {'class': 'menutrigger', 'onclick': 'trigger_menu(event)'}).text = "Menu"
+ menu_div = SubElement(menu, 'div', {'class': 'menu'})
# build HTML pages and parse them back
for section, text_files in SITE_STRUCTURE:
- section_head = make_menu_section_head(section, menu)
+ section_head = make_menu_section_head(section, menu_div)
for filename in text_files:
if filename.startswith('@'):
# special menu entry
script, stylesheet_url)
# generate sitemap from menu
- sitemap = XML('''\
+ sitemap = XML(textwrap.dedent('''\
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<h1>Sitemap of lxml.de - Processing XML and HTML with Python</h1>
</body>
</html>
- '''.replace(' ', ' '))
+ '''))
sitemap_menu = copy.deepcopy(menu)
SubElement(SubElement(sitemap_menu[-1], 'li'), 'a', href='http://lxml.de/files/').text = 'Download files'
- sitemap[-1].append(sitemap_menu) # append to body
+ sitemap[-1].append(sitemap_menu) # append to body
ElementTree(sitemap).write(os.path.join(dirname, 'sitemap.html'))
# integrate sitemap into the menu
- SubElement(SubElement(menu[-1], 'li'), 'a', href='http://lxml.de/sitemap.html').text = 'Sitemap'
+ SubElement(SubElement(menu_div[-1], 'li'), 'a', href='http://lxml.de/sitemap.html').text = 'Sitemap'
# integrate menu into web pages
for tree, basename, outpath in trees.itervalues():
+ head = find_head(tree)[0]
+ SubElement(head, 'script', type='text/javascript').text = menu_js
+ SubElement(head, 'meta', name='viewport', content="width=device-width, initial-scale=1")
+ find_body(tree)[0].set('onclick', 'hide_menu()')
+
new_tree = merge_menu(tree, menu, basename)
title = find_title_tag(new_tree)
if title and title[0].text == 'lxml':
heading[0].text = "lxml - XML and HTML with Python"
new_tree.write(outpath)
+
if __name__ == '__main__':
publish(sys.argv[1], sys.argv[2], sys.argv[3])
>>> E = objectify.E
>>> root = E.root(
... E.a(5),
- ... E.b(6.1),
+ ... E.b(6.21),
... E.c(True),
... E.d("how", tell="me")
... )
>>> print(etree.tostring(root, pretty_print=True))
<root xmlns:py="http://codespeak.net/lxml/objectify/pytype">
<a py:pytype="int">5</a>
- <b py:pytype="float">6.1</b>
+ <b py:pytype="float">6.21</b>
<c py:pytype="bool">true</c>
<d py:pytype="str" tell="me">how</d>
</root>
variant now runs in 0.14 seconds, and if you remove the ``v.clear()``, it is
even a little faster (which isn't the case for cElementTree).
-One of the many great tools in lxml is XPath, a swiss army knife for finding
+One of the many great tools in lxml is XPath, a Swiss army knife for finding
things in XML documents. It is possible to move the whole thing to a pure
XPath implementation, which looks like this:
lxml.sax is a simple way to interface with the standard XML support in the
Python library. Note, however, that this is a one-way solution, as Python's
-DOM implementation connot generate SAX events from a DOM tree.
+DOM implementation cannot generate SAX events from a DOM tree.
You can use xml.dom.pulldom to build a minidom from lxml:
>>> root.append(etree.Comment("some comment"))
>>> for element in root.iter():
- ... if isinstance(element.tag, basestring):
+ ... if isinstance(element.tag, basestring): # or 'str' in Python 3
... print("%s - %s" % (element.tag, element.text))
... else:
... print("SPECIAL: %s - %s" % (element, element.text))
result ElementTree object. The internal subset is available as
``internalDTD``, the external subset is provided as ``externalDTD``.
-The third way way to activate DTD loading is with the
+The third way to activate DTD loading is with the
``attribute_defaults`` option, which loads the DTD and weaves
attribute default values into the document. Again, no validation is
performed unless explicitly requested.
Metadata-Version: 1.1
Name: lxml
-Version: 3.6.0
+Version: 3.6.1
Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
Home-page: http://lxml.de/
Author: lxml dev team
as soon as a maintenance branch has been established. Note that this
requires Cython to be installed at an appropriate version for the build.
- 3.6.0 (2016-03-17)
+ 3.6.1 (2016-07-24)
==================
- * GH#189: Static builds honour FTP proxy configurations when downloading
- the external libs. Patch by Youhei Sakurai.
+ Features added
+ --------------
- * GH#187: Now supports (only) version 5.x and later of PyPy.
- Patch by Armin Rigo.
+ * GH#180: Separate option ``inline_style`` for Cleaner that only removes ``style``
+ attributes instead of all styles. Patch by Christian Pedersen.
- * GH#186: Soupparser failed to process entities in Python 3.x.
- Patch by Duncan Morris.
+ * GH#196: Windows build support for Python 3.5. Contribution by Maximilian Hils.
- * GH#185: Rare encoding related `TypeError` on import was fixed.
- Patch by Petr Demin.
+ Bugs fixed
+ ----------
- * GH#181: Direct support for `.rnc` files in `RelaxNG()` if `rnc2rng`
- is installed. Patch by Dirkjan Ochtman.
+ * GH#199: Exclude ``file`` fields from ``FormElement.form_values`` (as browsers do).
+ Patch by Tomas Divis.
+
+ * GH#198, LP#1568167: Try to provide base URL from ``Resolver.resolve_string()``.
+ Patch by Michael van Tellingen.
+
+ * GH#191: More accurate float serialisation in ``objectify.FloatElement``.
+ Patch by Holger Joukl.
+
+ * LP#1551797: Repair XSLT error logging. Patch by Marcus Brinkmann.
doc/html/api.html
doc/html/build.html
doc/html/capi.html
-doc/html/changes-3.6.0.html
+doc/html/changes-3.6.1.html
doc/html/compatibility.html
doc/html/credits.html
doc/html/cssselect.html
"Unexpected tag: %r" % el)
if el.checkable and not el.checked:
continue
- if el.type in ('submit', 'image', 'reset'):
+ if el.type in ('submit', 'image', 'reset', 'file'):
continue
value = el.value
if value is not None:
"descendant-or-self::x:a[normalize-space(@href) and substring(normalize-space(@href),1,1) != '#']"),
namespaces={'x':XHTML_NAMESPACE})
+
class Cleaner(object):
"""
Instances cleans the document of each of the possible offending
Removes any comments.
``style``:
- Removes any style tags or attributes.
+ Removes any style tags.
+
+ ``inline_style``
+ Removes any style attributes. Defaults to the value of the ``style`` option.
``links``:
Removes any ``<link>`` tags
javascript = True
comments = True
style = False
+ inline_style = None
links = True
meta = True
page_structure = True
raise TypeError(
"Unknown parameter: %s=%r" % (name, value))
setattr(self, name, value)
+ if self.inline_style is None and 'inline_style' not in kw:
+ self.inline_style = self.style
# Used to lookup the primary URL for a given tag that is up for
# removal:
del attrib[aname]
doc.rewrite_links(self._remove_javascript_link,
resolve_base_href=False)
- if not self.style:
- # If we're deleting style then we don't have to remove JS links
- # from styles, otherwise...
+ # If we're deleting style then we don't have to remove JS links
+ # from styles, otherwise...
+ if not self.inline_style:
for el in _find_styled_elements(doc):
old = el.get('style')
new = _css_javascript_re.sub('', old)
del el.attrib['style']
elif new != old:
el.set('style', new)
+ if not self.style:
for el in list(doc.iter('style')):
if el.get('type', '').lower().strip() == 'text/javascript':
el.drop_tree()
kill_tags.add(etree.ProcessingInstruction)
if self.style:
kill_tags.add('style')
+ if self.inline_style:
etree.strip_attributes(doc, 'style')
if self.links:
kill_tags.add('link')
</body>
</html>
->>> print(Cleaner(style=True, links=True, add_nofollow=True, page_structure=False, safe_attrs_only=False).clean_html(doc))
+>>> print(Cleaner(style=True, inline_style=True, links=True, add_nofollow=True, page_structure=False, safe_attrs_only=False).clean_html(doc))
<html>
<head>
</head>
</body>
</html>
+>>> print(Cleaner(style=True, inline_style=False, links=True, add_nofollow=True, page_structure=False, safe_attrs_only=False).clean_html(doc))
+<html>
+ <head>
+ </head>
+ <body>
+ <a href="">a link</a>
+ <a href="">a control char link</a>
+ <a href="">data</a>
+ <a href="#">another link</a>
+ <p>a paragraph</p>
+ <div style="display: none">secret EVIL!</div>
+ of EVIL!
+ Password:
+ <a href="evil-site" rel="nofollow">spam spam SPAM!</a>
+ <a href="http://example.com" rel="author nofollow">Author</a>
+ <a href="http://example.com" rel="nofollow">Text</a>
+ <img src="evil!">
+ </body>
+</html>
+
>>> print(Cleaner(links=False, page_structure=False, javascript=True, host_whitelist=['example.com'], whitelist_tags=None).clean_html(doc))
<html>
<head>
<img src="evil!">
</body>
</html>
-
... <option value="3">number 3</option>
... <option>number 4</option>
... </select>
+... <input type="file" name="file_field" value="nonsense_value">
... <input type="submit" name="submit1" value="submit">
... <input type="submit" name="submit2" value="submit">
... <input type="reset" name="reset1">linksys
>>> for name, value in sorted(fields.items()):
... print('%s: %r' % (name, value))
check_group: <CheckboxValues {'1', '2', '3'} for checkboxes name='check_group'>
+file_field: 'nonsense_value'
hidden_field: 'new value'
radios: None
reset1: None
#ifndef LXML_VERSION_STRING
-#define LXML_VERSION_STRING "3.6.0"
+#define LXML_VERSION_STRING "3.6.1"
#endif
const_xmlChar* base
const_xmlChar* cur
const_xmlChar* end
+ const_char *filename
ctypedef struct xmlParserInputBuffer:
void* context
from lxml.includes.tree cimport xmlDoc, xmlNode, xmlDict, xmlChar, const_xmlChar
+from lxml.includes.xmlerror cimport xmlGenericErrorFunc
from lxml.includes.xpath cimport xmlXPathContext, xmlXPathFunction
from libc.string cimport const_char
xsltTemplate* templ,
xsltStackElem* params) nogil
+
cdef extern from "libxslt/xsltutils.h":
cdef int xsltSaveResultToString(xmlChar** doc_txt_ptr,
int* doc_txt_len,
xmlDoc* result,
xsltStylesheet* style) nogil
-
+ cdef xmlGenericErrorFunc xsltGenericError
+ cdef void *xsltGenericErrorContext
cdef void xsltSetGenericErrorFunc(
void* ctxt, void (*handler)(void* ctxt, char* msg, ...)) nogil
cdef void xsltSetTransformErrorFunc(
cdef void xsltSetCtxtParseOptions(
xsltTransformContext* ctxt, int options)
+
cdef extern from "libxslt/security.h":
ctypedef struct xsltSecurityPrefs
ctypedef enum xsltSecurityOption:
-/* Generated by Cython 0.23.4 */
+/* Generated by Cython 0.23.5 */
/* BEGIN: Cython Metadata
{
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
#error Cython requires Python 2.6+ or Python 3.2+.
#else
-#define CYTHON_ABI "0_23_4"
+#define CYTHON_ABI "0_23_5"
#include <stddef.h>
#ifndef offsetof
#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
};
-/* "src/lxml/xmlerror.pxi":374
+/* "src/lxml/xmlerror.pxi":375
* @cython.final
* @cython.internal
* cdef class _ErrorLogContext: # <<<<<<<<<<<<<<
PyObject_HEAD
xmlStructuredErrorFunc old_error_func;
void *old_error_context;
+ xmlGenericErrorFunc old_xslt_error_func;
+ void *old_xslt_error_context;
};
-/* "src/lxml/xmlerror.pxi":383
- * cdef void* old_error_context
+/* "src/lxml/xmlerror.pxi":387
+ *
*
* cdef class _ErrorLog(_ListErrorLog): # <<<<<<<<<<<<<<
* cdef list _logContexts
};
-/* "src/lxml/xmlerror.pxi":440
+/* "src/lxml/xmlerror.pxi":450
* self._entries.append(entry)
*
* cdef class _DomainErrorLog(_ErrorLog): # <<<<<<<<<<<<<<
};
-/* "src/lxml/xmlerror.pxi":449
+/* "src/lxml/xmlerror.pxi":459
* _ErrorLog.receive(self, entry)
*
* cdef class _RotatingErrorLog(_ErrorLog): # <<<<<<<<<<<<<<
};
-/* "src/lxml/xmlerror.pxi":467
+/* "src/lxml/xmlerror.pxi":477
* del self._entries[:offset]
*
* cdef class PyErrorLog(_BaseErrorLog): # <<<<<<<<<<<<<<
};
-/* "src/lxml/parser.pxi":753
+/* "src/lxml/parser.pxi":764
*
* @cython.internal
* cdef class _BaseParser: # <<<<<<<<<<<<<<
};
-/* "src/lxml/parser.pxi":1182
+/* "src/lxml/parser.pxi":1193
* ############################################################
*
* cdef class _FeedParser(_BaseParser): # <<<<<<<<<<<<<<
};
-/* "src/lxml/parser.pxi":1392
+/* "src/lxml/parser.pxi":1403
* )
*
* cdef class XMLParser(_FeedParser): # <<<<<<<<<<<<<<
- * u"""XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, XMLSchema schema=None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
+ * u"""XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema: XMLSchema =None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
*
*/
struct __pyx_obj_4lxml_5etree_XMLParser {
};
-/* "src/lxml/parser.pxi":1476
+/* "src/lxml/parser.pxi":1487
*
*
* cdef class XMLPullParser(XMLParser): # <<<<<<<<<<<<<<
};
-/* "src/lxml/parser.pxi":1505
+/* "src/lxml/parser.pxi":1516
*
*
* cdef class ETCompatXMLParser(XMLParser): # <<<<<<<<<<<<<<
};
-/* "src/lxml/parser.pxi":1584
+/* "src/lxml/parser.pxi":1595
* )
*
* cdef class HTMLParser(_FeedParser): # <<<<<<<<<<<<<<
};
-/* "src/lxml/parser.pxi":1640
+/* "src/lxml/parser.pxi":1651
*
*
* cdef class HTMLPullParser(HTMLParser): # <<<<<<<<<<<<<<
static struct __pyx_vtabstruct_4lxml_5etree__ListErrorLog *__pyx_vtabptr_4lxml_5etree__ListErrorLog;
-/* "src/lxml/xmlerror.pxi":383
- * cdef void* old_error_context
+/* "src/lxml/xmlerror.pxi":387
+ *
*
* cdef class _ErrorLog(_ListErrorLog): # <<<<<<<<<<<<<<
* cdef list _logContexts
static int __pyx_f_4lxml_5etree_9_ErrorLog_disconnect(struct __pyx_obj_4lxml_5etree__ErrorLog *);
-/* "src/lxml/xmlerror.pxi":440
+/* "src/lxml/xmlerror.pxi":450
* self._entries.append(entry)
*
* cdef class _DomainErrorLog(_ErrorLog): # <<<<<<<<<<<<<<
static struct __pyx_vtabstruct_4lxml_5etree__DomainErrorLog *__pyx_vtabptr_4lxml_5etree__DomainErrorLog;
-/* "src/lxml/xmlerror.pxi":449
+/* "src/lxml/xmlerror.pxi":459
* _ErrorLog.receive(self, entry)
*
* cdef class _RotatingErrorLog(_ErrorLog): # <<<<<<<<<<<<<<
static struct __pyx_vtabstruct_4lxml_5etree__RotatingErrorLog *__pyx_vtabptr_4lxml_5etree__RotatingErrorLog;
-/* "src/lxml/xmlerror.pxi":467
+/* "src/lxml/xmlerror.pxi":477
* del self._entries[:offset]
*
* cdef class PyErrorLog(_BaseErrorLog): # <<<<<<<<<<<<<<
static struct __pyx_vtabstruct_4lxml_5etree__ResolverContext *__pyx_vtabptr_4lxml_5etree__ResolverContext;
-/* "src/lxml/parser.pxi":493
+/* "src/lxml/parser.pxi":504
*
* @cython.internal
* cdef class _ParserContext(_ResolverContext): # <<<<<<<<<<<<<<
static int __pyx_f_4lxml_5etree_18_FileReaderContext_copyToBuffer(struct __pyx_obj_4lxml_5etree__FileReaderContext *, char *, int);
-/* "src/lxml/parser.pxi":753
+/* "src/lxml/parser.pxi":764
*
* @cython.internal
* cdef class _BaseParser: # <<<<<<<<<<<<<<
static int __pyx_f_4lxml_5etree_11_BaseParser__configureSaxContext(struct __pyx_obj_4lxml_5etree__BaseParser *, xmlParserCtxt *);
-/* "src/lxml/parser.pxi":1182
+/* "src/lxml/parser.pxi":1193
* ############################################################
*
* cdef class _FeedParser(_BaseParser): # <<<<<<<<<<<<<<
static struct __pyx_vtabstruct_4lxml_5etree__FeedParser *__pyx_vtabptr_4lxml_5etree__FeedParser;
-/* "src/lxml/parser.pxi":1392
+/* "src/lxml/parser.pxi":1403
* )
*
* cdef class XMLParser(_FeedParser): # <<<<<<<<<<<<<<
- * u"""XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, XMLSchema schema=None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
+ * u"""XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema: XMLSchema =None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
*
*/
static struct __pyx_vtabstruct_4lxml_5etree_XMLParser *__pyx_vtabptr_4lxml_5etree_XMLParser;
-/* "src/lxml/parser.pxi":1476
+/* "src/lxml/parser.pxi":1487
*
*
* cdef class XMLPullParser(XMLParser): # <<<<<<<<<<<<<<
static struct __pyx_vtabstruct_4lxml_5etree_XMLPullParser *__pyx_vtabptr_4lxml_5etree_XMLPullParser;
-/* "src/lxml/parser.pxi":1505
+/* "src/lxml/parser.pxi":1516
*
*
* cdef class ETCompatXMLParser(XMLParser): # <<<<<<<<<<<<<<
static struct __pyx_vtabstruct_4lxml_5etree_ETCompatXMLParser *__pyx_vtabptr_4lxml_5etree_ETCompatXMLParser;
-/* "src/lxml/parser.pxi":1584
+/* "src/lxml/parser.pxi":1595
* )
*
* cdef class HTMLParser(_FeedParser): # <<<<<<<<<<<<<<
static struct __pyx_vtabstruct_4lxml_5etree_HTMLParser *__pyx_vtabptr_4lxml_5etree_HTMLParser;
-/* "src/lxml/parser.pxi":1640
+/* "src/lxml/parser.pxi":1651
*
*
* cdef class HTMLPullParser(HTMLParser): # <<<<<<<<<<<<<<
static char __pyx_k__48[] = "?>";
static char __pyx_k__50[] = "]]>";
static char __pyx_k__60[] = "_";
-static char __pyx_k__65[] = "'?>\n";
-static char __pyx_k__66[] = "\" ";
-static char __pyx_k__67[] = ">\n";
-static char __pyx_k__68[] = " [\n";
-static char __pyx_k__69[] = "]>\n";
-static char __pyx_k__75[] = "<";
-static char __pyx_k__76[] = ">";
-static char __pyx_k__77[] = "=\"";
-static char __pyx_k__83[] = "</";
+static char __pyx_k__66[] = "'?>\n";
+static char __pyx_k__67[] = "\" ";
+static char __pyx_k__68[] = ">\n";
+static char __pyx_k__69[] = " [\n";
+static char __pyx_k__70[] = "]>\n";
+static char __pyx_k__76[] = "<";
+static char __pyx_k__77[] = ">";
+static char __pyx_k__78[] = "=\"";
+static char __pyx_k__84[] = "</";
static char __pyx_k_add[] = "add";
static char __pyx_k_all[] = "__all__";
static char __pyx_k_any[] = "any";
static char __pyx_k_HTML[] = "HTML";
static char __pyx_k_UTF8[] = "UTF8";
static char __pyx_k_XSLT[] = "XSLT";
-static char __pyx_k__104[] = ", ";
-static char __pyx_k__233[] = "(\"[^\"]*\")|('[^']*')";
-static char __pyx_k__235[] = "({[^}]+})";
+static char __pyx_k__105[] = ", ";
+static char __pyx_k__234[] = "(\"[^\"]*\")|('[^']*')";
+static char __pyx_k__236[] = "({[^}]+})";
static char __pyx_k_args[] = "args";
static char __pyx_k_beta[] = "beta";
static char __pyx_k_c14n[] = "c14n";
static PyObject *__pyx_n_s_XSLT_set_global_max_depth;
static PyObject *__pyx_n_s_XSLT_strparam;
static PyObject *__pyx_kp_s_XSLT_stylesheet_not_initialised;
-static PyObject *__pyx_kp_u__104;
+static PyObject *__pyx_kp_u__105;
static PyObject *__pyx_kp_u__14;
static PyObject *__pyx_kp_b__15;
static PyObject *__pyx_kp_s__15;
static PyObject *__pyx_kp_u__15;
static PyObject *__pyx_kp_b__23;
-static PyObject *__pyx_kp_b__233;
-static PyObject *__pyx_kp_b__235;
+static PyObject *__pyx_kp_b__234;
+static PyObject *__pyx_kp_b__236;
static PyObject *__pyx_kp_s__24;
static PyObject *__pyx_kp_u__24;
static PyObject *__pyx_kp_b__28;
static PyObject *__pyx_kp_b__50;
static PyObject *__pyx_n_s__60;
static PyObject *__pyx_n_u__60;
-static PyObject *__pyx_kp_u__76;
+static PyObject *__pyx_kp_u__77;
static PyObject *__pyx_n_s_abspath;
static PyObject *__pyx_n_s_accepted_domains;
static PyObject *__pyx_n_s_access_control;
static PyObject *__pyx_slice__40;
static PyObject *__pyx_slice__57;
static PyObject *__pyx_slice__59;
-static PyObject *__pyx_slice__79;
static PyObject *__pyx_slice__80;
-static PyObject *__pyx_slice__82;
-static PyObject *__pyx_slice__97;
+static PyObject *__pyx_slice__81;
+static PyObject *__pyx_slice__83;
static PyObject *__pyx_slice__98;
+static PyObject *__pyx_slice__99;
static PyObject *__pyx_tuple__10;
static PyObject *__pyx_tuple__12;
static PyObject *__pyx_tuple__16;
static PyObject *__pyx_tuple__62;
static PyObject *__pyx_tuple__63;
static PyObject *__pyx_tuple__64;
-static PyObject *__pyx_tuple__70;
+static PyObject *__pyx_tuple__65;
static PyObject *__pyx_tuple__71;
static PyObject *__pyx_tuple__72;
static PyObject *__pyx_tuple__73;
static PyObject *__pyx_tuple__74;
-static PyObject *__pyx_tuple__78;
-static PyObject *__pyx_tuple__81;
-static PyObject *__pyx_tuple__84;
+static PyObject *__pyx_tuple__75;
+static PyObject *__pyx_tuple__79;
+static PyObject *__pyx_tuple__82;
static PyObject *__pyx_tuple__85;
static PyObject *__pyx_tuple__86;
static PyObject *__pyx_tuple__87;
static PyObject *__pyx_tuple__94;
static PyObject *__pyx_tuple__95;
static PyObject *__pyx_tuple__96;
-static PyObject *__pyx_tuple__99;
-static PyObject *__pyx_slice__102;
+static PyObject *__pyx_tuple__97;
+static PyObject *__pyx_slice__103;
static PyObject *__pyx_tuple__100;
static PyObject *__pyx_tuple__101;
-static PyObject *__pyx_tuple__103;
-static PyObject *__pyx_tuple__105;
+static PyObject *__pyx_tuple__102;
+static PyObject *__pyx_tuple__104;
static PyObject *__pyx_tuple__106;
static PyObject *__pyx_tuple__107;
static PyObject *__pyx_tuple__108;
static PyObject *__pyx_tuple__118;
static PyObject *__pyx_tuple__119;
static PyObject *__pyx_tuple__120;
-static PyObject *__pyx_tuple__122;
-static PyObject *__pyx_tuple__124;
-static PyObject *__pyx_tuple__126;
-static PyObject *__pyx_tuple__128;
-static PyObject *__pyx_tuple__130;
-static PyObject *__pyx_tuple__132;
+static PyObject *__pyx_tuple__121;
+static PyObject *__pyx_tuple__123;
+static PyObject *__pyx_tuple__125;
+static PyObject *__pyx_tuple__127;
+static PyObject *__pyx_tuple__129;
+static PyObject *__pyx_tuple__131;
static PyObject *__pyx_tuple__133;
static PyObject *__pyx_tuple__134;
-static PyObject *__pyx_tuple__136;
-static PyObject *__pyx_tuple__138;
+static PyObject *__pyx_tuple__135;
+static PyObject *__pyx_tuple__137;
static PyObject *__pyx_tuple__139;
-static PyObject *__pyx_tuple__141;
+static PyObject *__pyx_tuple__140;
static PyObject *__pyx_tuple__142;
-static PyObject *__pyx_tuple__144;
+static PyObject *__pyx_tuple__143;
static PyObject *__pyx_tuple__145;
static PyObject *__pyx_tuple__146;
static PyObject *__pyx_tuple__147;
static PyObject *__pyx_tuple__148;
static PyObject *__pyx_tuple__149;
-static PyObject *__pyx_tuple__151;
+static PyObject *__pyx_tuple__150;
static PyObject *__pyx_tuple__152;
-static PyObject *__pyx_tuple__154;
+static PyObject *__pyx_tuple__153;
static PyObject *__pyx_tuple__155;
-static PyObject *__pyx_tuple__157;
+static PyObject *__pyx_tuple__156;
static PyObject *__pyx_tuple__158;
-static PyObject *__pyx_tuple__160;
-static PyObject *__pyx_tuple__162;
+static PyObject *__pyx_tuple__159;
+static PyObject *__pyx_tuple__161;
static PyObject *__pyx_tuple__163;
-static PyObject *__pyx_tuple__165;
+static PyObject *__pyx_tuple__164;
static PyObject *__pyx_tuple__166;
-static PyObject *__pyx_tuple__168;
+static PyObject *__pyx_tuple__167;
static PyObject *__pyx_tuple__169;
-static PyObject *__pyx_tuple__171;
+static PyObject *__pyx_tuple__170;
static PyObject *__pyx_tuple__172;
-static PyObject *__pyx_tuple__174;
+static PyObject *__pyx_tuple__173;
static PyObject *__pyx_tuple__175;
-static PyObject *__pyx_tuple__177;
+static PyObject *__pyx_tuple__176;
static PyObject *__pyx_tuple__178;
-static PyObject *__pyx_tuple__180;
-static PyObject *__pyx_tuple__182;
-static PyObject *__pyx_tuple__184;
-static PyObject *__pyx_tuple__186;
-static PyObject *__pyx_tuple__188;
-static PyObject *__pyx_tuple__190;
+static PyObject *__pyx_tuple__179;
+static PyObject *__pyx_tuple__181;
+static PyObject *__pyx_tuple__183;
+static PyObject *__pyx_tuple__185;
+static PyObject *__pyx_tuple__187;
+static PyObject *__pyx_tuple__189;
static PyObject *__pyx_tuple__191;
-static PyObject *__pyx_tuple__193;
+static PyObject *__pyx_tuple__192;
static PyObject *__pyx_tuple__194;
-static PyObject *__pyx_tuple__196;
-static PyObject *__pyx_tuple__198;
-static PyObject *__pyx_tuple__200;
-static PyObject *__pyx_tuple__202;
+static PyObject *__pyx_tuple__195;
+static PyObject *__pyx_tuple__197;
+static PyObject *__pyx_tuple__199;
+static PyObject *__pyx_tuple__201;
static PyObject *__pyx_tuple__203;
-static PyObject *__pyx_tuple__205;
-static PyObject *__pyx_tuple__207;
+static PyObject *__pyx_tuple__204;
+static PyObject *__pyx_tuple__206;
static PyObject *__pyx_tuple__208;
-static PyObject *__pyx_tuple__210;
+static PyObject *__pyx_tuple__209;
static PyObject *__pyx_tuple__211;
-static PyObject *__pyx_tuple__213;
+static PyObject *__pyx_tuple__212;
static PyObject *__pyx_tuple__214;
-static PyObject *__pyx_tuple__216;
+static PyObject *__pyx_tuple__215;
static PyObject *__pyx_tuple__217;
-static PyObject *__pyx_tuple__219;
-static PyObject *__pyx_tuple__221;
-static PyObject *__pyx_tuple__223;
+static PyObject *__pyx_tuple__218;
+static PyObject *__pyx_tuple__220;
+static PyObject *__pyx_tuple__222;
static PyObject *__pyx_tuple__224;
-static PyObject *__pyx_tuple__226;
+static PyObject *__pyx_tuple__225;
static PyObject *__pyx_tuple__227;
-static PyObject *__pyx_tuple__229;
-static PyObject *__pyx_tuple__231;
-static PyObject *__pyx_tuple__234;
-static PyObject *__pyx_tuple__236;
+static PyObject *__pyx_tuple__228;
+static PyObject *__pyx_tuple__230;
+static PyObject *__pyx_tuple__232;
+static PyObject *__pyx_tuple__235;
static PyObject *__pyx_tuple__237;
-static PyObject *__pyx_tuple__239;
-static PyObject *__pyx_tuple__241;
+static PyObject *__pyx_tuple__238;
+static PyObject *__pyx_tuple__240;
static PyObject *__pyx_tuple__242;
-static PyObject *__pyx_codeobj__121;
-static PyObject *__pyx_codeobj__123;
-static PyObject *__pyx_codeobj__125;
-static PyObject *__pyx_codeobj__127;
-static PyObject *__pyx_codeobj__129;
-static PyObject *__pyx_codeobj__131;
-static PyObject *__pyx_codeobj__135;
-static PyObject *__pyx_codeobj__137;
-static PyObject *__pyx_codeobj__140;
-static PyObject *__pyx_codeobj__143;
-static PyObject *__pyx_codeobj__150;
-static PyObject *__pyx_codeobj__153;
-static PyObject *__pyx_codeobj__156;
-static PyObject *__pyx_codeobj__159;
-static PyObject *__pyx_codeobj__161;
-static PyObject *__pyx_codeobj__164;
-static PyObject *__pyx_codeobj__167;
-static PyObject *__pyx_codeobj__170;
-static PyObject *__pyx_codeobj__173;
-static PyObject *__pyx_codeobj__176;
-static PyObject *__pyx_codeobj__179;
-static PyObject *__pyx_codeobj__181;
-static PyObject *__pyx_codeobj__183;
-static PyObject *__pyx_codeobj__185;
-static PyObject *__pyx_codeobj__187;
-static PyObject *__pyx_codeobj__189;
-static PyObject *__pyx_codeobj__192;
-static PyObject *__pyx_codeobj__195;
-static PyObject *__pyx_codeobj__197;
-static PyObject *__pyx_codeobj__199;
-static PyObject *__pyx_codeobj__201;
-static PyObject *__pyx_codeobj__204;
-static PyObject *__pyx_codeobj__206;
-static PyObject *__pyx_codeobj__209;
-static PyObject *__pyx_codeobj__212;
-static PyObject *__pyx_codeobj__215;
-static PyObject *__pyx_codeobj__218;
-static PyObject *__pyx_codeobj__220;
-static PyObject *__pyx_codeobj__222;
-static PyObject *__pyx_codeobj__225;
-static PyObject *__pyx_codeobj__228;
-static PyObject *__pyx_codeobj__230;
-static PyObject *__pyx_codeobj__232;
-static PyObject *__pyx_codeobj__238;
-static PyObject *__pyx_codeobj__240;
+static PyObject *__pyx_tuple__243;
+static PyObject *__pyx_codeobj__122;
+static PyObject *__pyx_codeobj__124;
+static PyObject *__pyx_codeobj__126;
+static PyObject *__pyx_codeobj__128;
+static PyObject *__pyx_codeobj__130;
+static PyObject *__pyx_codeobj__132;
+static PyObject *__pyx_codeobj__136;
+static PyObject *__pyx_codeobj__138;
+static PyObject *__pyx_codeobj__141;
+static PyObject *__pyx_codeobj__144;
+static PyObject *__pyx_codeobj__151;
+static PyObject *__pyx_codeobj__154;
+static PyObject *__pyx_codeobj__157;
+static PyObject *__pyx_codeobj__160;
+static PyObject *__pyx_codeobj__162;
+static PyObject *__pyx_codeobj__165;
+static PyObject *__pyx_codeobj__168;
+static PyObject *__pyx_codeobj__171;
+static PyObject *__pyx_codeobj__174;
+static PyObject *__pyx_codeobj__177;
+static PyObject *__pyx_codeobj__180;
+static PyObject *__pyx_codeobj__182;
+static PyObject *__pyx_codeobj__184;
+static PyObject *__pyx_codeobj__186;
+static PyObject *__pyx_codeobj__188;
+static PyObject *__pyx_codeobj__190;
+static PyObject *__pyx_codeobj__193;
+static PyObject *__pyx_codeobj__196;
+static PyObject *__pyx_codeobj__198;
+static PyObject *__pyx_codeobj__200;
+static PyObject *__pyx_codeobj__202;
+static PyObject *__pyx_codeobj__205;
+static PyObject *__pyx_codeobj__207;
+static PyObject *__pyx_codeobj__210;
+static PyObject *__pyx_codeobj__213;
+static PyObject *__pyx_codeobj__216;
+static PyObject *__pyx_codeobj__219;
+static PyObject *__pyx_codeobj__221;
+static PyObject *__pyx_codeobj__223;
+static PyObject *__pyx_codeobj__226;
+static PyObject *__pyx_codeobj__229;
+static PyObject *__pyx_codeobj__231;
+static PyObject *__pyx_codeobj__233;
+static PyObject *__pyx_codeobj__239;
+static PyObject *__pyx_codeobj__241;
/* "src/lxml/lxml.etree.pyx":111
*
* """
* return self.filter_from_level(ErrorLevels.WARNING) # <<<<<<<<<<<<<<
*
- * @cython.final
+ *
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filter_from_level); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":385
+/* "src/lxml/xmlerror.pxi":389
* cdef class _ErrorLog(_ListErrorLog):
* cdef list _logContexts
* def __cinit__(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__cinit__", 0);
- /* "src/lxml/xmlerror.pxi":386
+ /* "src/lxml/xmlerror.pxi":390
* cdef list _logContexts
* def __cinit__(self):
* self._logContexts = [] # <<<<<<<<<<<<<<
*
* def __init__(self):
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->_logContexts);
__pyx_v_self->_logContexts = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":385
+ /* "src/lxml/xmlerror.pxi":389
* cdef class _ErrorLog(_ListErrorLog):
* cdef list _logContexts
* def __cinit__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":388
+/* "src/lxml/xmlerror.pxi":392
* self._logContexts = []
*
* def __init__(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "src/lxml/xmlerror.pxi":389
+ /* "src/lxml/xmlerror.pxi":393
*
* def __init__(self):
* _ListErrorLog.__init__(self, [], None, None) # <<<<<<<<<<<<<<
*
* @cython.final
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__ListErrorLog), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__ListErrorLog), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
__pyx_t_5 = 1;
}
}
- __pyx_t_6 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_5, Py_None);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":388
+ /* "src/lxml/xmlerror.pxi":392
* self._logContexts = []
*
* def __init__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":392
+/* "src/lxml/xmlerror.pxi":396
*
* @cython.final
* cdef int __enter__(self) except -1: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__enter__", 0);
- /* "src/lxml/xmlerror.pxi":393
+ /* "src/lxml/xmlerror.pxi":397
* @cython.final
* cdef int __enter__(self) except -1:
* return self.connect() # <<<<<<<<<<<<<<
*
* def __exit__(self, *args):
*/
- __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_connect(__pyx_v_self); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_connect(__pyx_v_self); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_1;
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":392
+ /* "src/lxml/xmlerror.pxi":396
*
* @cython.final
* cdef int __enter__(self) except -1: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":395
+/* "src/lxml/xmlerror.pxi":399
* return self.connect()
*
* def __exit__(self, *args): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__exit__", 0);
- /* "src/lxml/xmlerror.pxi":397
+ /* "src/lxml/xmlerror.pxi":401
* def __exit__(self, *args):
* # TODO: make this a cdef function when Cython supports it
* self.disconnect() # <<<<<<<<<<<<<<
*
* @cython.final
*/
- __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_disconnect(__pyx_v_self); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_disconnect(__pyx_v_self); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":395
+ /* "src/lxml/xmlerror.pxi":399
* return self.connect()
*
* def __exit__(self, *args): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":400
+/* "src/lxml/xmlerror.pxi":404
*
* @cython.final
* cdef int connect(self) except -1: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("connect", 0);
- /* "src/lxml/xmlerror.pxi":401
+ /* "src/lxml/xmlerror.pxi":405
* @cython.final
* cdef int connect(self) except -1:
* self._first_error = None # <<<<<<<<<<<<<<
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._first_error));
__pyx_v_self->__pyx_base.__pyx_base._first_error = ((struct __pyx_obj_4lxml_5etree__LogEntry *)Py_None);
- /* "src/lxml/xmlerror.pxi":402
+ /* "src/lxml/xmlerror.pxi":406
* cdef int connect(self) except -1:
* self._first_error = None
* del self._entries[:] # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->__pyx_base._entries == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (__Pyx_PyObject_DelSlice(__pyx_v_self->__pyx_base._entries, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_DelSlice(__pyx_v_self->__pyx_base._entries, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":404
+ /* "src/lxml/xmlerror.pxi":408
* del self._entries[:]
*
* cdef _ErrorLogContext context = _ErrorLogContext.__new__(_ErrorLogContext) # <<<<<<<<<<<<<<
* context.old_error_func = xmlerror.xmlStructuredError
* context.old_error_context = xmlerror.xmlStructuredErrorContext
*/
- __pyx_t_1 = __pyx_tp_new_4lxml_5etree__ErrorLogContext(((PyTypeObject *)__pyx_ptype_4lxml_5etree__ErrorLogContext), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_tp_new_4lxml_5etree__ErrorLogContext(((PyTypeObject *)__pyx_ptype_4lxml_5etree__ErrorLogContext), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__ErrorLogContext)))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__ErrorLogContext)))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ErrorLogContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":405
+ /* "src/lxml/xmlerror.pxi":409
*
* cdef _ErrorLogContext context = _ErrorLogContext.__new__(_ErrorLogContext)
* context.old_error_func = xmlerror.xmlStructuredError # <<<<<<<<<<<<<<
* context.old_error_context = xmlerror.xmlStructuredErrorContext
- * self._logContexts.append(context)
+ * context.old_xslt_error_func = xslt.xsltGenericError
*/
__pyx_v_context->old_error_func = xmlStructuredError;
- /* "src/lxml/xmlerror.pxi":406
+ /* "src/lxml/xmlerror.pxi":410
* cdef _ErrorLogContext context = _ErrorLogContext.__new__(_ErrorLogContext)
* context.old_error_func = xmlerror.xmlStructuredError
* context.old_error_context = xmlerror.xmlStructuredErrorContext # <<<<<<<<<<<<<<
- * self._logContexts.append(context)
- * xmlerror.xmlSetStructuredErrorFunc(
+ * context.old_xslt_error_func = xslt.xsltGenericError
+ * context.old_xslt_error_context = xslt.xsltGenericErrorContext
*/
__pyx_v_context->old_error_context = xmlStructuredErrorContext;
- /* "src/lxml/xmlerror.pxi":407
+ /* "src/lxml/xmlerror.pxi":411
* context.old_error_func = xmlerror.xmlStructuredError
* context.old_error_context = xmlerror.xmlStructuredErrorContext
+ * context.old_xslt_error_func = xslt.xsltGenericError # <<<<<<<<<<<<<<
+ * context.old_xslt_error_context = xslt.xsltGenericErrorContext
+ * self._logContexts.append(context)
+ */
+ __pyx_v_context->old_xslt_error_func = xsltGenericError;
+
+ /* "src/lxml/xmlerror.pxi":412
+ * context.old_error_context = xmlerror.xmlStructuredErrorContext
+ * context.old_xslt_error_func = xslt.xsltGenericError
+ * context.old_xslt_error_context = xslt.xsltGenericErrorContext # <<<<<<<<<<<<<<
+ * self._logContexts.append(context)
+ * xmlerror.xmlSetStructuredErrorFunc(
+ */
+ __pyx_v_context->old_xslt_error_context = xsltGenericErrorContext;
+
+ /* "src/lxml/xmlerror.pxi":413
+ * context.old_xslt_error_func = xslt.xsltGenericError
+ * context.old_xslt_error_context = xslt.xsltGenericErrorContext
* self._logContexts.append(context) # <<<<<<<<<<<<<<
* xmlerror.xmlSetStructuredErrorFunc(
* <void*>self, <xmlerror.xmlStructuredErrorFunc>_receiveError)
*/
if (unlikely(__pyx_v_self->_logContexts == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_2 = __Pyx_PyList_Append(__pyx_v_self->_logContexts, ((PyObject *)__pyx_v_context)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyList_Append(__pyx_v_self->_logContexts, ((PyObject *)__pyx_v_context)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":408
- * context.old_error_context = xmlerror.xmlStructuredErrorContext
+ /* "src/lxml/xmlerror.pxi":414
+ * context.old_xslt_error_context = xslt.xsltGenericErrorContext
* self._logContexts.append(context)
* xmlerror.xmlSetStructuredErrorFunc( # <<<<<<<<<<<<<<
* <void*>self, <xmlerror.xmlStructuredErrorFunc>_receiveError)
- * return 0
+ * xslt.xsltSetGenericErrorFunc(
*/
xmlSetStructuredErrorFunc(((void *)__pyx_v_self), ((xmlStructuredErrorFunc)__pyx_f_4lxml_5etree__receiveError));
- /* "src/lxml/xmlerror.pxi":410
+ /* "src/lxml/xmlerror.pxi":416
* xmlerror.xmlSetStructuredErrorFunc(
* <void*>self, <xmlerror.xmlStructuredErrorFunc>_receiveError)
+ * xslt.xsltSetGenericErrorFunc( # <<<<<<<<<<<<<<
+ * <void*>self, <xmlerror.xmlGenericErrorFunc>_receiveXSLTError)
+ * return 0
+ */
+ xsltSetGenericErrorFunc(((void *)__pyx_v_self), ((xmlGenericErrorFunc)__pyx_f_4lxml_5etree__receiveXSLTError));
+
+ /* "src/lxml/xmlerror.pxi":418
+ * xslt.xsltSetGenericErrorFunc(
+ * <void*>self, <xmlerror.xmlGenericErrorFunc>_receiveXSLTError)
* return 0 # <<<<<<<<<<<<<<
*
* @cython.final
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":400
+ /* "src/lxml/xmlerror.pxi":404
*
* @cython.final
* cdef int connect(self) except -1: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":413
+/* "src/lxml/xmlerror.pxi":421
*
* @cython.final
* cdef int disconnect(self) except -1: # <<<<<<<<<<<<<<
* cdef _ErrorLogContext context = self._logContexts.pop()
- * xmlerror.xmlSetStructuredErrorFunc(
+ * xslt.xsltSetGenericErrorFunc(
*/
static int __pyx_f_4lxml_5etree_9_ErrorLog_disconnect(struct __pyx_obj_4lxml_5etree__ErrorLog *__pyx_v_self) {
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("disconnect", 0);
- /* "src/lxml/xmlerror.pxi":414
+ /* "src/lxml/xmlerror.pxi":422
* @cython.final
* cdef int disconnect(self) except -1:
* cdef _ErrorLogContext context = self._logContexts.pop() # <<<<<<<<<<<<<<
- * xmlerror.xmlSetStructuredErrorFunc(
- * context.old_error_context, context.old_error_func)
+ * xslt.xsltSetGenericErrorFunc(
+ * context.old_xslt_error_context, context.old_xslt_error_func)
*/
if (unlikely(__pyx_v_self->_logContexts == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "pop");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->_logContexts); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyList_Pop(__pyx_v_self->_logContexts); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__ErrorLogContext))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__ErrorLogContext))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ErrorLogContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":415
+ /* "src/lxml/xmlerror.pxi":423
* cdef int disconnect(self) except -1:
* cdef _ErrorLogContext context = self._logContexts.pop()
+ * xslt.xsltSetGenericErrorFunc( # <<<<<<<<<<<<<<
+ * context.old_xslt_error_context, context.old_xslt_error_func)
+ * xmlerror.xmlSetStructuredErrorFunc(
+ */
+ xsltSetGenericErrorFunc(__pyx_v_context->old_xslt_error_context, __pyx_v_context->old_xslt_error_func);
+
+ /* "src/lxml/xmlerror.pxi":425
+ * xslt.xsltSetGenericErrorFunc(
+ * context.old_xslt_error_context, context.old_xslt_error_func)
* xmlerror.xmlSetStructuredErrorFunc( # <<<<<<<<<<<<<<
* context.old_error_context, context.old_error_func)
* return 0
*/
xmlSetStructuredErrorFunc(__pyx_v_context->old_error_context, __pyx_v_context->old_error_func);
- /* "src/lxml/xmlerror.pxi":417
+ /* "src/lxml/xmlerror.pxi":427
* xmlerror.xmlSetStructuredErrorFunc(
* context.old_error_context, context.old_error_func)
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":413
+ /* "src/lxml/xmlerror.pxi":421
*
* @cython.final
* cdef int disconnect(self) except -1: # <<<<<<<<<<<<<<
* cdef _ErrorLogContext context = self._logContexts.pop()
- * xmlerror.xmlSetStructuredErrorFunc(
+ * xslt.xsltSetGenericErrorFunc(
*/
/* function exit code */
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":419
+/* "src/lxml/xmlerror.pxi":429
* return 0
*
* cpdef clear(self): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clear); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clear); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_9_ErrorLog_7clear)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/xmlerror.pxi":420
+ /* "src/lxml/xmlerror.pxi":430
*
* cpdef clear(self):
* self._first_error = None # <<<<<<<<<<<<<<
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._first_error));
__pyx_v_self->__pyx_base.__pyx_base._first_error = ((struct __pyx_obj_4lxml_5etree__LogEntry *)Py_None);
- /* "src/lxml/xmlerror.pxi":421
+ /* "src/lxml/xmlerror.pxi":431
* cpdef clear(self):
* self._first_error = None
* self.last_error = None # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx_base.last_error);
__pyx_v_self->__pyx_base.__pyx_base.last_error = Py_None;
- /* "src/lxml/xmlerror.pxi":422
+ /* "src/lxml/xmlerror.pxi":432
* self._first_error = None
* self.last_error = None
* self._offset = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_self->__pyx_base._offset = 0;
- /* "src/lxml/xmlerror.pxi":423
+ /* "src/lxml/xmlerror.pxi":433
* self.last_error = None
* self._offset = 0
* del self._entries[:] # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->__pyx_base._entries == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (__Pyx_PyObject_DelSlice(__pyx_v_self->__pyx_base._entries, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_DelSlice(__pyx_v_self->__pyx_base._entries, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":419
+ /* "src/lxml/xmlerror.pxi":429
* return 0
*
* cpdef clear(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("clear", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_clear(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_clear(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":425
+/* "src/lxml/xmlerror.pxi":435
* del self._entries[:]
*
* cpdef copy(self): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_9_ErrorLog_9copy)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/xmlerror.pxi":428
+ /* "src/lxml/xmlerror.pxi":438
* u"""Creates a shallow copy of this error log and the list of entries.
* """
* return _ListErrorLog( # <<<<<<<<<<<<<<
*/
__Pyx_XDECREF(__pyx_r);
- /* "src/lxml/xmlerror.pxi":429
+ /* "src/lxml/xmlerror.pxi":439
* """
* return _ListErrorLog(
* self._entries[self._offset:], # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->__pyx_base._entries == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_self->__pyx_base._entries, __pyx_v_self->__pyx_base._offset, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_self->__pyx_base._entries, __pyx_v_self->__pyx_base._offset, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- /* "src/lxml/xmlerror.pxi":428
+ /* "src/lxml/xmlerror.pxi":438
* u"""Creates a shallow copy of this error log and the list of entries.
* """
* return _ListErrorLog( # <<<<<<<<<<<<<<
* self._entries[self._offset:],
* self._first_error, self.last_error)
*/
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.last_error);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_self->__pyx_base.__pyx_base.last_error);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ListErrorLog), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ListErrorLog), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":425
+ /* "src/lxml/xmlerror.pxi":435
* del self._entries[:]
*
* cpdef copy(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("copy", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_copy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_copy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":432
+/* "src/lxml/xmlerror.pxi":442
* self._first_error, self.last_error)
*
* def __iter__(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__iter__", 0);
- /* "src/lxml/xmlerror.pxi":433
+ /* "src/lxml/xmlerror.pxi":443
*
* def __iter__(self):
* return iter(self._entries[self._offset:]) # <<<<<<<<<<<<<<
__Pyx_XDECREF(__pyx_r);
if (unlikely(__pyx_v_self->__pyx_base._entries == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_self->__pyx_base._entries, __pyx_v_self->__pyx_base._offset, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_self->__pyx_base._entries, __pyx_v_self->__pyx_base._offset, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":432
+ /* "src/lxml/xmlerror.pxi":442
* self._first_error, self.last_error)
*
* def __iter__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":435
+/* "src/lxml/xmlerror.pxi":445
* return iter(self._entries[self._offset:])
*
* cpdef receive(self, _LogEntry entry): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_receive); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_receive); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_9_ErrorLog_13receive)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (!__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_entry)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_entry)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
} else {
- __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_INCREF(((PyObject *)__pyx_v_entry));
__Pyx_GIVEREF(((PyObject *)__pyx_v_entry));
PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_entry));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/xmlerror.pxi":436
+ /* "src/lxml/xmlerror.pxi":446
*
* cpdef receive(self, _LogEntry entry):
* if self._first_error is None and entry.level >= xmlerror.XML_ERR_ERROR: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_6) {
- /* "src/lxml/xmlerror.pxi":437
+ /* "src/lxml/xmlerror.pxi":447
* cpdef receive(self, _LogEntry entry):
* if self._first_error is None and entry.level >= xmlerror.XML_ERR_ERROR:
* self._first_error = entry # <<<<<<<<<<<<<<
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._first_error));
__pyx_v_self->__pyx_base.__pyx_base._first_error = __pyx_v_entry;
- /* "src/lxml/xmlerror.pxi":436
+ /* "src/lxml/xmlerror.pxi":446
*
* cpdef receive(self, _LogEntry entry):
* if self._first_error is None and entry.level >= xmlerror.XML_ERR_ERROR: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":438
+ /* "src/lxml/xmlerror.pxi":448
* if self._first_error is None and entry.level >= xmlerror.XML_ERR_ERROR:
* self._first_error = entry
* self._entries.append(entry) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->__pyx_base._entries == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_self->__pyx_base._entries, ((PyObject *)__pyx_v_entry)); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_self->__pyx_base._entries, ((PyObject *)__pyx_v_entry)); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":435
+ /* "src/lxml/xmlerror.pxi":445
* return iter(self._entries[self._offset:])
*
* cpdef receive(self, _LogEntry entry): # <<<<<<<<<<<<<<
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("receive (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_entry), __pyx_ptype_4lxml_5etree__LogEntry, 1, "entry", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_entry), __pyx_ptype_4lxml_5etree__LogEntry, 1, "entry", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_9_ErrorLog_12receive(((struct __pyx_obj_4lxml_5etree__ErrorLog *)__pyx_v_self), ((struct __pyx_obj_4lxml_5etree__LogEntry *)__pyx_v_entry));
/* function exit code */
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("receive", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_receive(__pyx_v_self, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_9_ErrorLog_receive(__pyx_v_self, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":441
+/* "src/lxml/xmlerror.pxi":451
*
* cdef class _DomainErrorLog(_ErrorLog):
* def __init__(self, domains): # <<<<<<<<<<<<<<
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree._DomainErrorLog.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "src/lxml/xmlerror.pxi":442
+ /* "src/lxml/xmlerror.pxi":452
* cdef class _DomainErrorLog(_ErrorLog):
* def __init__(self, domains):
* _ErrorLog.__init__(self) # <<<<<<<<<<<<<<
* self._accepted_domains = tuple(domains)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__ErrorLog), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__ErrorLog), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (!__pyx_t_3) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_self));
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":443
+ /* "src/lxml/xmlerror.pxi":453
* def __init__(self, domains):
* _ErrorLog.__init__(self)
* self._accepted_domains = tuple(domains) # <<<<<<<<<<<<<<
*
* cpdef receive(self, _LogEntry entry):
*/
- __pyx_t_1 = PySequence_Tuple(__pyx_v_domains); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_Tuple(__pyx_v_domains); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accepted_domains, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accepted_domains, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":441
+ /* "src/lxml/xmlerror.pxi":451
*
* cdef class _DomainErrorLog(_ErrorLog):
* def __init__(self, domains): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":445
+/* "src/lxml/xmlerror.pxi":455
* self._accepted_domains = tuple(domains)
*
* cpdef receive(self, _LogEntry entry): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_receive); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_receive); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_15_DomainErrorLog_3receive)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (!__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_entry)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_entry)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
} else {
- __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_INCREF(((PyObject *)__pyx_v_entry));
__Pyx_GIVEREF(((PyObject *)__pyx_v_entry));
PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_entry));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/xmlerror.pxi":446
+ /* "src/lxml/xmlerror.pxi":456
*
* cpdef receive(self, _LogEntry entry):
* if entry.domain in self._accepted_domains: # <<<<<<<<<<<<<<
* _ErrorLog.receive(self, entry)
*
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_entry->domain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_entry->domain); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accepted_domains); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accepted_domains); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
- /* "src/lxml/xmlerror.pxi":447
+ /* "src/lxml/xmlerror.pxi":457
* cpdef receive(self, _LogEntry entry):
* if entry.domain in self._accepted_domains:
* _ErrorLog.receive(self, entry) # <<<<<<<<<<<<<<
*
* cdef class _RotatingErrorLog(_ErrorLog):
*/
- __pyx_t_2 = __pyx_f_4lxml_5etree_9_ErrorLog_receive(((struct __pyx_obj_4lxml_5etree__ErrorLog *)__pyx_v_self), __pyx_v_entry, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_5etree_9_ErrorLog_receive(((struct __pyx_obj_4lxml_5etree__ErrorLog *)__pyx_v_self), __pyx_v_entry, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/xmlerror.pxi":446
+ /* "src/lxml/xmlerror.pxi":456
*
* cpdef receive(self, _LogEntry entry):
* if entry.domain in self._accepted_domains: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":445
+ /* "src/lxml/xmlerror.pxi":455
* self._accepted_domains = tuple(domains)
*
* cpdef receive(self, _LogEntry entry): # <<<<<<<<<<<<<<
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("receive (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_entry), __pyx_ptype_4lxml_5etree__LogEntry, 1, "entry", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_entry), __pyx_ptype_4lxml_5etree__LogEntry, 1, "entry", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_15_DomainErrorLog_2receive(((struct __pyx_obj_4lxml_5etree__DomainErrorLog *)__pyx_v_self), ((struct __pyx_obj_4lxml_5etree__LogEntry *)__pyx_v_entry));
/* function exit code */
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("receive", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_15_DomainErrorLog_receive(__pyx_v_self, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_15_DomainErrorLog_receive(__pyx_v_self, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":451
+/* "src/lxml/xmlerror.pxi":461
* cdef class _RotatingErrorLog(_ErrorLog):
* cdef int _max_len
* def __init__(self, max_len): # <<<<<<<<<<<<<<
else goto __pyx_L5_argtuple_error;
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree._RotatingErrorLog.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "src/lxml/xmlerror.pxi":452
+ /* "src/lxml/xmlerror.pxi":462
* cdef int _max_len
* def __init__(self, max_len):
* _ErrorLog.__init__(self) # <<<<<<<<<<<<<<
* self._max_len = max_len
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__ErrorLog), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__ErrorLog), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (!__pyx_t_3) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_self));
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":453
+ /* "src/lxml/xmlerror.pxi":463
* def __init__(self, max_len):
* _ErrorLog.__init__(self)
* self._max_len = max_len # <<<<<<<<<<<<<<
*
* cpdef receive(self, _LogEntry entry):
*/
- __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_v_max_len); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_v_max_len); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_self->_max_len = __pyx_t_5;
- /* "src/lxml/xmlerror.pxi":451
+ /* "src/lxml/xmlerror.pxi":461
* cdef class _RotatingErrorLog(_ErrorLog):
* cdef int _max_len
* def __init__(self, max_len): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":455
+/* "src/lxml/xmlerror.pxi":465
* self._max_len = max_len
*
* cpdef receive(self, _LogEntry entry): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_receive); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_receive); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_17_RotatingErrorLog_3receive)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (!__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_entry)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_entry)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
} else {
- __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_INCREF(((PyObject *)__pyx_v_entry));
__Pyx_GIVEREF(((PyObject *)__pyx_v_entry));
PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_entry));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/xmlerror.pxi":456
+ /* "src/lxml/xmlerror.pxi":466
*
* cpdef receive(self, _LogEntry entry):
* if self._first_error is None and entry.level >= xmlerror.XML_ERR_ERROR: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_6) {
- /* "src/lxml/xmlerror.pxi":457
+ /* "src/lxml/xmlerror.pxi":467
* cpdef receive(self, _LogEntry entry):
* if self._first_error is None and entry.level >= xmlerror.XML_ERR_ERROR:
* self._first_error = entry # <<<<<<<<<<<<<<
__Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._first_error));
__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._first_error = __pyx_v_entry;
- /* "src/lxml/xmlerror.pxi":456
+ /* "src/lxml/xmlerror.pxi":466
*
* cpdef receive(self, _LogEntry entry):
* if self._first_error is None and entry.level >= xmlerror.XML_ERR_ERROR: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":458
+ /* "src/lxml/xmlerror.pxi":468
* if self._first_error is None and entry.level >= xmlerror.XML_ERR_ERROR:
* self._first_error = entry
* self._entries.append(entry) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->__pyx_base.__pyx_base._entries == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_self->__pyx_base.__pyx_base._entries, ((PyObject *)__pyx_v_entry)); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_self->__pyx_base.__pyx_base._entries, ((PyObject *)__pyx_v_entry)); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":460
+ /* "src/lxml/xmlerror.pxi":470
* self._entries.append(entry)
*
* if len(self._entries) > self._max_len: # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_10 = PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_6 = ((__pyx_t_10 > __pyx_v_self->_max_len) != 0);
if (__pyx_t_6) {
- /* "src/lxml/xmlerror.pxi":461
+ /* "src/lxml/xmlerror.pxi":471
*
* if len(self._entries) > self._max_len:
* self._offset += 1 # <<<<<<<<<<<<<<
*/
__pyx_v_self->__pyx_base.__pyx_base._offset = (__pyx_v_self->__pyx_base.__pyx_base._offset + 1);
- /* "src/lxml/xmlerror.pxi":462
+ /* "src/lxml/xmlerror.pxi":472
* if len(self._entries) > self._max_len:
* self._offset += 1
* if self._offset > self._max_len // 3: # <<<<<<<<<<<<<<
__pyx_t_6 = ((__pyx_v_self->__pyx_base.__pyx_base._offset > __Pyx_div_long(__pyx_v_self->_max_len, 3)) != 0);
if (__pyx_t_6) {
- /* "src/lxml/xmlerror.pxi":463
+ /* "src/lxml/xmlerror.pxi":473
* self._offset += 1
* if self._offset > self._max_len // 3:
* offset = self._offset # <<<<<<<<<<<<<<
__pyx_t_11 = __pyx_v_self->__pyx_base.__pyx_base._offset;
__pyx_v_offset = __pyx_t_11;
- /* "src/lxml/xmlerror.pxi":464
+ /* "src/lxml/xmlerror.pxi":474
* if self._offset > self._max_len // 3:
* offset = self._offset
* self._offset = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_self->__pyx_base.__pyx_base._offset = 0;
- /* "src/lxml/xmlerror.pxi":465
+ /* "src/lxml/xmlerror.pxi":475
* offset = self._offset
* self._offset = 0
* del self._entries[:offset] # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->__pyx_base.__pyx_base._entries == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (__Pyx_PyObject_DelSlice(__pyx_v_self->__pyx_base.__pyx_base._entries, 0, __pyx_v_offset, NULL, NULL, NULL, 0, 1, 1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_DelSlice(__pyx_v_self->__pyx_base.__pyx_base._entries, 0, __pyx_v_offset, NULL, NULL, NULL, 0, 1, 1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":462
+ /* "src/lxml/xmlerror.pxi":472
* if len(self._entries) > self._max_len:
* self._offset += 1
* if self._offset > self._max_len // 3: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":460
+ /* "src/lxml/xmlerror.pxi":470
* self._entries.append(entry)
*
* if len(self._entries) > self._max_len: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":455
+ /* "src/lxml/xmlerror.pxi":465
* self._max_len = max_len
*
* cpdef receive(self, _LogEntry entry): # <<<<<<<<<<<<<<
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("receive (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_entry), __pyx_ptype_4lxml_5etree__LogEntry, 1, "entry", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_entry), __pyx_ptype_4lxml_5etree__LogEntry, 1, "entry", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_17_RotatingErrorLog_2receive(((struct __pyx_obj_4lxml_5etree__RotatingErrorLog *)__pyx_v_self), ((struct __pyx_obj_4lxml_5etree__LogEntry *)__pyx_v_entry));
/* function exit code */
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("receive", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_17_RotatingErrorLog_receive(__pyx_v_self, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_17_RotatingErrorLog_receive(__pyx_v_self, __pyx_v_entry, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":490
+/* "src/lxml/xmlerror.pxi":500
* cdef object _map_level
* cdef object _log
* def __init__(self, logger_name=None, logger=None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree.PyErrorLog.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__Pyx_RefNannySetupContext("__init__", 0);
__Pyx_INCREF(__pyx_v_logger);
- /* "src/lxml/xmlerror.pxi":491
+ /* "src/lxml/xmlerror.pxi":501
* cdef object _log
* def __init__(self, logger_name=None, logger=None):
* _BaseErrorLog.__init__(self, None, None) # <<<<<<<<<<<<<<
* import logging
* self.level_map = {
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__BaseErrorLog), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__BaseErrorLog), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
__pyx_t_4 = 1;
}
}
- __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, Py_None);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":492
+ /* "src/lxml/xmlerror.pxi":502
* def __init__(self, logger_name=None, logger=None):
* _BaseErrorLog.__init__(self, None, None)
* import logging # <<<<<<<<<<<<<<
* self.level_map = {
* ErrorLevels.WARNING : logging.WARNING,
*/
- __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_logging = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":494
+ /* "src/lxml/xmlerror.pxi":504
* import logging
* self.level_map = {
* ErrorLevels.WARNING : logging.WARNING, # <<<<<<<<<<<<<<
* ErrorLevels.ERROR : logging.ERROR,
* ErrorLevels.FATAL : logging.CRITICAL
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorLevels); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorLevels); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_WARNING); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_WARNING); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_WARNING); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_WARNING); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/xmlerror.pxi":495
+ /* "src/lxml/xmlerror.pxi":505
* self.level_map = {
* ErrorLevels.WARNING : logging.WARNING,
* ErrorLevels.ERROR : logging.ERROR, # <<<<<<<<<<<<<<
* ErrorLevels.FATAL : logging.CRITICAL
* }
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorLevels); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorLevels); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ERROR); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ERROR); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_ERROR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_ERROR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/xmlerror.pxi":496
+ /* "src/lxml/xmlerror.pxi":506
* ErrorLevels.WARNING : logging.WARNING,
* ErrorLevels.ERROR : logging.ERROR,
* ErrorLevels.FATAL : logging.CRITICAL # <<<<<<<<<<<<<<
* }
* self._map_level = self.level_map.get
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorLevels); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorLevels); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_FATAL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_FATAL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_CRITICAL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_CRITICAL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/xmlerror.pxi":493
+ /* "src/lxml/xmlerror.pxi":503
* _BaseErrorLog.__init__(self, None, None)
* import logging
* self.level_map = { # <<<<<<<<<<<<<<
__pyx_v_self->level_map = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":498
+ /* "src/lxml/xmlerror.pxi":508
* ErrorLevels.FATAL : logging.CRITICAL
* }
* self._map_level = self.level_map.get # <<<<<<<<<<<<<<
* if logger is None:
* if logger_name:
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->level_map, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->level_map, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->_map_level);
__pyx_v_self->_map_level = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":499
+ /* "src/lxml/xmlerror.pxi":509
* }
* self._map_level = self.level_map.get
* if logger is None: # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
- /* "src/lxml/xmlerror.pxi":500
+ /* "src/lxml/xmlerror.pxi":510
* self._map_level = self.level_map.get
* if logger is None:
* if logger_name: # <<<<<<<<<<<<<<
* logger = logging.getLogger(logger_name)
* else:
*/
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_logger_name); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_logger_name); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_7) {
- /* "src/lxml/xmlerror.pxi":501
+ /* "src/lxml/xmlerror.pxi":511
* if logger is None:
* if logger_name:
* logger = logging.getLogger(logger_name) # <<<<<<<<<<<<<<
* else:
* logger = logging.getLogger()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (!__pyx_t_5) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_logger_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_logger_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_INCREF(__pyx_v_logger_name);
__Pyx_GIVEREF(__pyx_v_logger_name);
PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_logger_name);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF_SET(__pyx_v_logger, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":500
+ /* "src/lxml/xmlerror.pxi":510
* self._map_level = self.level_map.get
* if logger is None:
* if logger_name: # <<<<<<<<<<<<<<
goto __pyx_L4;
}
- /* "src/lxml/xmlerror.pxi":503
+ /* "src/lxml/xmlerror.pxi":513
* logger = logging.getLogger(logger_name)
* else:
* logger = logging.getLogger() # <<<<<<<<<<<<<<
*
*/
/*else*/ {
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_logging, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (__pyx_t_3) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L4:;
- /* "src/lxml/xmlerror.pxi":499
+ /* "src/lxml/xmlerror.pxi":509
* }
* self._map_level = self.level_map.get
* if logger is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":504
+ /* "src/lxml/xmlerror.pxi":514
* else:
* logger = logging.getLogger()
* self._log = logger.log # <<<<<<<<<<<<<<
*
* cpdef copy(self):
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_logger, __pyx_n_s_log); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_logger, __pyx_n_s_log); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->_log);
__pyx_v_self->_log = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":490
+ /* "src/lxml/xmlerror.pxi":500
* cdef object _map_level
* cdef object _log
* def __init__(self, logger_name=None, logger=None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":506
+/* "src/lxml/xmlerror.pxi":516
* self._log = logger.log
*
* cpdef copy(self): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_10PyErrorLog_3copy)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/xmlerror.pxi":509
+ /* "src/lxml/xmlerror.pxi":519
* u"""Dummy method that returns an empty error log.
* """
* return _ListErrorLog([], None, None) # <<<<<<<<<<<<<<
* def log(self, log_entry, message, *args):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ListErrorLog), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ListErrorLog), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":506
+ /* "src/lxml/xmlerror.pxi":516
* self._log = logger.log
*
* cpdef copy(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("copy", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_10PyErrorLog_copy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_10PyErrorLog_copy(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":511
+/* "src/lxml/xmlerror.pxi":521
* return _ListErrorLog([], None, None)
*
* def log(self, log_entry, message, *args): # <<<<<<<<<<<<<<
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("log", 0, 2, 2, 1); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("log", 0, 2, 2, 1); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 2) ? pos_args : 2;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "log") < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "log") < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 2) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("log", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("log", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("lxml.etree.PyErrorLog.log", __pyx_clineno, __pyx_lineno, __pyx_filename);
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("log", 0);
- /* "src/lxml/xmlerror.pxi":524
+ /* "src/lxml/xmlerror.pxi":534
* """
* self._log(
* self._map_level(log_entry.level, 0), # <<<<<<<<<<<<<<
* message, *args
* )
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_log_entry, __pyx_n_s_level); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_log_entry, __pyx_n_s_level); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_self->_map_level);
__pyx_t_3 = __pyx_v_self->_map_level; __pyx_t_4 = NULL;
__pyx_t_5 = 1;
}
}
- __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_int_0);
__pyx_t_2 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/xmlerror.pxi":523
+ /* "src/lxml/xmlerror.pxi":533
* override the .receive() method instead of this one.
* """
* self._log( # <<<<<<<<<<<<<<
* self._map_level(log_entry.level, 0),
* message, *args
*/
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_message);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":526
+ /* "src/lxml/xmlerror.pxi":536
* self._map_level(log_entry.level, 0),
* message, *args
* ) # <<<<<<<<<<<<<<
*
* cpdef receive(self, _LogEntry log_entry):
*/
- __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/xmlerror.pxi":523
+ /* "src/lxml/xmlerror.pxi":533
* override the .receive() method instead of this one.
* """
* self._log( # <<<<<<<<<<<<<<
* self._map_level(log_entry.level, 0),
* message, *args
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_v_self->_log, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_v_self->_log, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/xmlerror.pxi":511
+ /* "src/lxml/xmlerror.pxi":521
* return _ListErrorLog([], None, None)
*
* def log(self, log_entry, message, *args): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":528
+/* "src/lxml/xmlerror.pxi":538
* )
*
* cpdef receive(self, _LogEntry log_entry): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_receive); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_receive); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_10PyErrorLog_7receive)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (!__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_log_entry)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_log_entry)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
} else {
- __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_INCREF(((PyObject *)__pyx_v_log_entry));
__Pyx_GIVEREF(((PyObject *)__pyx_v_log_entry));
PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_log_entry));
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/xmlerror.pxi":539
+ /* "src/lxml/xmlerror.pxi":549
* format.
* """
* self.log(log_entry, repr(log_entry)) # <<<<<<<<<<<<<<
*
* # thread-local, global list log to collect error output messages from
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_log); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_log); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyObject_Repr(((PyObject *)__pyx_v_log_entry)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyObject_Repr(((PyObject *)__pyx_v_log_entry)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
__pyx_t_6 = 0;
__pyx_t_6 = 1;
}
}
- __pyx_t_4 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":528
+ /* "src/lxml/xmlerror.pxi":538
* )
*
* cpdef receive(self, _LogEntry log_entry): # <<<<<<<<<<<<<<
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("receive (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_log_entry), __pyx_ptype_4lxml_5etree__LogEntry, 1, "log_entry", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_log_entry), __pyx_ptype_4lxml_5etree__LogEntry, 1, "log_entry", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_10PyErrorLog_6receive(((struct __pyx_obj_4lxml_5etree_PyErrorLog *)__pyx_v_self), ((struct __pyx_obj_4lxml_5etree__LogEntry *)__pyx_v_log_entry));
/* function exit code */
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("receive", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_10PyErrorLog_receive(__pyx_v_self, __pyx_v_log_entry, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_10PyErrorLog_receive(__pyx_v_self, __pyx_v_log_entry, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":487
+/* "src/lxml/xmlerror.pxi":497
* with appropriate data.
* """
* cdef readonly dict level_map # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":547
+/* "src/lxml/xmlerror.pxi":557
* __GLOBAL_ERROR_LOG = _RotatingErrorLog(__MAX_LOG_SIZE)
*
* cdef _BaseErrorLog _getGlobalErrorLog(): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_getGlobalErrorLog", 0);
- /* "src/lxml/xmlerror.pxi":550
+ /* "src/lxml/xmlerror.pxi":560
* u"""Retrieve the global error log of this thread."""
* cdef python.PyObject* thread_dict
* thread_dict = python.PyThreadState_GetDict() # <<<<<<<<<<<<<<
*/
__pyx_v_thread_dict = PyThreadState_GetDict();
- /* "src/lxml/xmlerror.pxi":551
+ /* "src/lxml/xmlerror.pxi":561
* cdef python.PyObject* thread_dict
* thread_dict = python.PyThreadState_GetDict()
* if thread_dict is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_thread_dict == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":552
+ /* "src/lxml/xmlerror.pxi":562
* thread_dict = python.PyThreadState_GetDict()
* if thread_dict is NULL:
* return __GLOBAL_ERROR_LOG # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_4lxml_5etree___GLOBAL_ERROR_LOG;
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":551
+ /* "src/lxml/xmlerror.pxi":561
* cdef python.PyObject* thread_dict
* thread_dict = python.PyThreadState_GetDict()
* if thread_dict is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":553
+ /* "src/lxml/xmlerror.pxi":563
* if thread_dict is NULL:
* return __GLOBAL_ERROR_LOG
* try: # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_4);
/*try:*/ {
- /* "src/lxml/xmlerror.pxi":554
+ /* "src/lxml/xmlerror.pxi":564
* return __GLOBAL_ERROR_LOG
* try:
* return (<object>thread_dict)[u"_GlobalErrorLog"] # <<<<<<<<<<<<<<
* log = (<object>thread_dict)[u"_GlobalErrorLog"] = \
*/
__Pyx_XDECREF(((PyObject *)__pyx_r));
- __pyx_t_5 = PyObject_GetItem(((PyObject *)__pyx_v_thread_dict), __pyx_n_u_GlobalErrorLog); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L4_error;};
+ __pyx_t_5 = PyObject_GetItem(((PyObject *)__pyx_v_thread_dict), __pyx_n_u_GlobalErrorLog); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L4_error;};
__Pyx_GOTREF(__pyx_t_5);
- if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_4lxml_5etree__BaseErrorLog))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
+ if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_4lxml_5etree__BaseErrorLog))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
__pyx_r = ((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_5);
__pyx_t_5 = 0;
goto __pyx_L8_try_return;
- /* "src/lxml/xmlerror.pxi":553
+ /* "src/lxml/xmlerror.pxi":563
* if thread_dict is NULL:
* return __GLOBAL_ERROR_LOG
* try: # <<<<<<<<<<<<<<
__pyx_L4_error:;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/xmlerror.pxi":555
+ /* "src/lxml/xmlerror.pxi":565
* try:
* return (<object>thread_dict)[u"_GlobalErrorLog"]
* except KeyError: # <<<<<<<<<<<<<<
__pyx_t_6 = PyErr_ExceptionMatches(__pyx_builtin_KeyError);
if (__pyx_t_6) {
__Pyx_AddTraceback("lxml.etree._getGlobalErrorLog", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_7, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
+ if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_7, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GOTREF(__pyx_t_8);
- /* "src/lxml/xmlerror.pxi":557
+ /* "src/lxml/xmlerror.pxi":567
* except KeyError:
* log = (<object>thread_dict)[u"_GlobalErrorLog"] = \
* _RotatingErrorLog(__MAX_LOG_SIZE) # <<<<<<<<<<<<<<
* return log
*
*/
- __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__RotatingErrorLog), __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
+ __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__RotatingErrorLog), __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
__Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_t_9);
__pyx_v_log = ((struct __pyx_obj_4lxml_5etree__RotatingErrorLog *)__pyx_t_9);
- /* "src/lxml/xmlerror.pxi":556
+ /* "src/lxml/xmlerror.pxi":566
* return (<object>thread_dict)[u"_GlobalErrorLog"]
* except KeyError:
* log = (<object>thread_dict)[u"_GlobalErrorLog"] = \ # <<<<<<<<<<<<<<
* _RotatingErrorLog(__MAX_LOG_SIZE)
* return log
*/
- if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_thread_dict), __pyx_n_u_GlobalErrorLog, __pyx_t_9) < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
+ if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_thread_dict), __pyx_n_u_GlobalErrorLog, __pyx_t_9) < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- /* "src/lxml/xmlerror.pxi":558
+ /* "src/lxml/xmlerror.pxi":568
* log = (<object>thread_dict)[u"_GlobalErrorLog"] = \
* _RotatingErrorLog(__MAX_LOG_SIZE)
* return log # <<<<<<<<<<<<<<
goto __pyx_L6_except_error;
__pyx_L6_except_error:;
- /* "src/lxml/xmlerror.pxi":553
+ /* "src/lxml/xmlerror.pxi":563
* if thread_dict is NULL:
* return __GLOBAL_ERROR_LOG
* try: # <<<<<<<<<<<<<<
goto __pyx_L0;
}
- /* "src/lxml/xmlerror.pxi":547
+ /* "src/lxml/xmlerror.pxi":557
* __GLOBAL_ERROR_LOG = _RotatingErrorLog(__MAX_LOG_SIZE)
*
* cdef _BaseErrorLog _getGlobalErrorLog(): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":560
+/* "src/lxml/xmlerror.pxi":570
* return log
*
* cdef _setGlobalErrorLog(_BaseErrorLog log): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_setGlobalErrorLog", 0);
- /* "src/lxml/xmlerror.pxi":563
+ /* "src/lxml/xmlerror.pxi":573
* u"""Set the global error log of this thread."""
* cdef python.PyObject* thread_dict
* thread_dict = python.PyThreadState_GetDict() # <<<<<<<<<<<<<<
*/
__pyx_v_thread_dict = PyThreadState_GetDict();
- /* "src/lxml/xmlerror.pxi":564
+ /* "src/lxml/xmlerror.pxi":574
* cdef python.PyObject* thread_dict
* thread_dict = python.PyThreadState_GetDict()
* if thread_dict is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_thread_dict == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":566
+ /* "src/lxml/xmlerror.pxi":576
* if thread_dict is NULL:
* global __GLOBAL_ERROR_LOG
* __GLOBAL_ERROR_LOG = log # <<<<<<<<<<<<<<
__Pyx_DECREF_SET(__pyx_v_4lxml_5etree___GLOBAL_ERROR_LOG, __pyx_v_log);
__Pyx_GIVEREF(((PyObject *)__pyx_v_log));
- /* "src/lxml/xmlerror.pxi":564
+ /* "src/lxml/xmlerror.pxi":574
* cdef python.PyObject* thread_dict
* thread_dict = python.PyThreadState_GetDict()
* if thread_dict is NULL: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/xmlerror.pxi":568
+ /* "src/lxml/xmlerror.pxi":578
* __GLOBAL_ERROR_LOG = log
* else:
* (<object>thread_dict)[u"_GlobalErrorLog"] = log # <<<<<<<<<<<<<<
* cdef __copyGlobalErrorLog():
*/
/*else*/ {
- if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_thread_dict), __pyx_n_u_GlobalErrorLog, ((PyObject *)__pyx_v_log)) < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyObject_SetItem(((PyObject *)__pyx_v_thread_dict), __pyx_n_u_GlobalErrorLog, ((PyObject *)__pyx_v_log)) < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_L3:;
- /* "src/lxml/xmlerror.pxi":560
+ /* "src/lxml/xmlerror.pxi":570
* return log
*
* cdef _setGlobalErrorLog(_BaseErrorLog log): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":570
+/* "src/lxml/xmlerror.pxi":580
* (<object>thread_dict)[u"_GlobalErrorLog"] = log
*
* cdef __copyGlobalErrorLog(): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__copyGlobalErrorLog", 0);
- /* "src/lxml/xmlerror.pxi":572
+ /* "src/lxml/xmlerror.pxi":582
* cdef __copyGlobalErrorLog():
* u"Helper function for properties in exceptions."
* return _getGlobalErrorLog().copy() # <<<<<<<<<<<<<<
* def use_global_python_log(PyErrorLog log not None):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree__getGlobalErrorLog()); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree__getGlobalErrorLog()); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseErrorLog *)((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_1)->__pyx_vtab)->copy(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_1), 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseErrorLog *)((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_1)->__pyx_vtab)->copy(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_1), 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":570
+ /* "src/lxml/xmlerror.pxi":580
* (<object>thread_dict)[u"_GlobalErrorLog"] = log
*
* cdef __copyGlobalErrorLog(): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":574
+/* "src/lxml/xmlerror.pxi":584
* return _getGlobalErrorLog().copy()
*
* def use_global_python_log(PyErrorLog log not None): # <<<<<<<<<<<<<<
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("use_global_python_log (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_log), __pyx_ptype_4lxml_5etree_PyErrorLog, 0, "log", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_log), __pyx_ptype_4lxml_5etree_PyErrorLog, 0, "log", 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_4use_global_python_log(__pyx_self, ((struct __pyx_obj_4lxml_5etree_PyErrorLog *)__pyx_v_log));
/* function exit code */
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("use_global_python_log", 0);
- /* "src/lxml/xmlerror.pxi":587
+ /* "src/lxml/xmlerror.pxi":597
* function will only set the global error log of the current thread.
* """
* _setGlobalErrorLog(log) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_1 = __pyx_f_4lxml_5etree__setGlobalErrorLog(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_v_log)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree__setGlobalErrorLog(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_v_log)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":574
+ /* "src/lxml/xmlerror.pxi":584
* return _getGlobalErrorLog().copy()
*
* def use_global_python_log(PyErrorLog log not None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/xmlerror.pxi":591
+/* "src/lxml/xmlerror.pxi":601
*
* # local log functions: forward error to logger object
* cdef void _forwardError(void* c_log_handler, xmlerror.xmlError* error) with gil: # <<<<<<<<<<<<<<
#endif
__Pyx_RefNannySetupContext("_forwardError", 0);
- /* "src/lxml/xmlerror.pxi":593
+ /* "src/lxml/xmlerror.pxi":603
* cdef void _forwardError(void* c_log_handler, xmlerror.xmlError* error) with gil:
* cdef _BaseErrorLog log_handler
* if c_log_handler is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_log_handler != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":594
+ /* "src/lxml/xmlerror.pxi":604
* cdef _BaseErrorLog log_handler
* if c_log_handler is not NULL:
* log_handler = <_BaseErrorLog>c_log_handler # <<<<<<<<<<<<<<
__pyx_v_log_handler = ((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/xmlerror.pxi":593
+ /* "src/lxml/xmlerror.pxi":603
* cdef void _forwardError(void* c_log_handler, xmlerror.xmlError* error) with gil:
* cdef _BaseErrorLog log_handler
* if c_log_handler is not NULL: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/xmlerror.pxi":596
+ /* "src/lxml/xmlerror.pxi":606
* log_handler = <_BaseErrorLog>c_log_handler
* else:
* log_handler = _getGlobalErrorLog() # <<<<<<<<<<<<<<
*
*/
/*else*/ {
- __pyx_t_2 = ((PyObject *)__pyx_f_4lxml_5etree__getGlobalErrorLog()); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((PyObject *)__pyx_f_4lxml_5etree__getGlobalErrorLog()); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_log_handler = ((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_2);
__pyx_t_2 = 0;
}
__pyx_L3:;
- /* "src/lxml/xmlerror.pxi":597
+ /* "src/lxml/xmlerror.pxi":607
* else:
* log_handler = _getGlobalErrorLog()
* log_handler._receive(error) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_13_BaseErrorLog__receive(__pyx_v_log_handler, __pyx_v_error);
- /* "src/lxml/xmlerror.pxi":591
+ /* "src/lxml/xmlerror.pxi":601
*
* # local log functions: forward error to logger object
* cdef void _forwardError(void* c_log_handler, xmlerror.xmlError* error) with gil: # <<<<<<<<<<<<<<
#endif
}
-/* "src/lxml/xmlerror.pxi":599
+/* "src/lxml/xmlerror.pxi":609
* log_handler._receive(error)
*
* cdef void _receiveError(void* c_log_handler, xmlerror.xmlError* error) nogil: # <<<<<<<<<<<<<<
static void __pyx_f_4lxml_5etree__receiveError(void *__pyx_v_c_log_handler, xmlError *__pyx_v_error) {
- /* "src/lxml/xmlerror.pxi":602
+ /* "src/lxml/xmlerror.pxi":612
* # no Python objects here, may be called without thread context !
* if __DEBUG:
* _forwardError(c_log_handler, error) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree__forwardError(__pyx_v_c_log_handler, __pyx_v_error);
- /* "src/lxml/xmlerror.pxi":599
+ /* "src/lxml/xmlerror.pxi":609
* log_handler._receive(error)
*
* cdef void _receiveError(void* c_log_handler, xmlerror.xmlError* error) nogil: # <<<<<<<<<<<<<<
/* function exit code */
}
-/* "src/lxml/xmlerror.pxi":604
+/* "src/lxml/xmlerror.pxi":614
* _forwardError(c_log_handler, error)
*
* cdef void _receiveXSLTError(void* c_log_handler, char* msg, ...) nogil: # <<<<<<<<<<<<<<
int __pyx_t_1;
int __pyx_t_2;
- /* "src/lxml/xmlerror.pxi":615
+ /* "src/lxml/xmlerror.pxi":625
* cdef char* c_str
* cdef int text_size, element_size, format_count, c_int
* if not __DEBUG or msg is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_msg == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":616
+ /* "src/lxml/xmlerror.pxi":626
* cdef int text_size, element_size, format_count, c_int
* if not __DEBUG or msg is NULL:
* return # <<<<<<<<<<<<<<
*/
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":615
+ /* "src/lxml/xmlerror.pxi":625
* cdef char* c_str
* cdef int text_size, element_size, format_count, c_int
* if not __DEBUG or msg is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":617
+ /* "src/lxml/xmlerror.pxi":627
* if not __DEBUG or msg is NULL:
* return
* if msg[0] in b'\n\0': # <<<<<<<<<<<<<<
case '\x00':
case '\n':
- /* "src/lxml/xmlerror.pxi":618
+ /* "src/lxml/xmlerror.pxi":628
* return
* if msg[0] in b'\n\0':
* return # <<<<<<<<<<<<<<
*/
goto __pyx_L0;
- /* "src/lxml/xmlerror.pxi":617
+ /* "src/lxml/xmlerror.pxi":627
* if not __DEBUG or msg is NULL:
* return
* if msg[0] in b'\n\0': # <<<<<<<<<<<<<<
default: break;
}
- /* "src/lxml/xmlerror.pxi":620
+ /* "src/lxml/xmlerror.pxi":630
* return
*
* c_text = c_element = c_error.file = NULL # <<<<<<<<<<<<<<
__pyx_v_c_element = NULL;
__pyx_v_c_error.file = NULL;
- /* "src/lxml/xmlerror.pxi":621
+ /* "src/lxml/xmlerror.pxi":631
*
* c_text = c_element = c_error.file = NULL
* c_error.line = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.line = 0;
- /* "src/lxml/xmlerror.pxi":624
+ /* "src/lxml/xmlerror.pxi":634
*
* # parse "NAME %s" chunks from the format string
* cvarargs.va_start(args, msg) # <<<<<<<<<<<<<<
*/
va_start(__pyx_v_args, __pyx_v_msg);
- /* "src/lxml/xmlerror.pxi":625
+ /* "src/lxml/xmlerror.pxi":635
* # parse "NAME %s" chunks from the format string
* cvarargs.va_start(args, msg)
* c_name_pos = c_pos = msg # <<<<<<<<<<<<<<
__pyx_v_c_name_pos = __pyx_v_msg;
__pyx_v_c_pos = __pyx_v_msg;
- /* "src/lxml/xmlerror.pxi":626
+ /* "src/lxml/xmlerror.pxi":636
* cvarargs.va_start(args, msg)
* c_name_pos = c_pos = msg
* format_count = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_format_count = 0;
- /* "src/lxml/xmlerror.pxi":627
+ /* "src/lxml/xmlerror.pxi":637
* c_name_pos = c_pos = msg
* format_count = 0
* while c_pos[0]: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_pos[0]) != 0);
if (!__pyx_t_1) break;
- /* "src/lxml/xmlerror.pxi":628
+ /* "src/lxml/xmlerror.pxi":638
* format_count = 0
* while c_pos[0]:
* if c_pos[0] == b'%': # <<<<<<<<<<<<<<
__pyx_t_1 = (((__pyx_v_c_pos[0]) == '%') != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":629
+ /* "src/lxml/xmlerror.pxi":639
* while c_pos[0]:
* if c_pos[0] == b'%':
* c_pos += 1 # <<<<<<<<<<<<<<
*/
__pyx_v_c_pos = (__pyx_v_c_pos + 1);
- /* "src/lxml/xmlerror.pxi":630
+ /* "src/lxml/xmlerror.pxi":640
* if c_pos[0] == b'%':
* c_pos += 1
* if c_pos[0] == b's': # "%s" # <<<<<<<<<<<<<<
__pyx_t_1 = (((__pyx_v_c_pos[0]) == 's') != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":631
+ /* "src/lxml/xmlerror.pxi":641
* c_pos += 1
* if c_pos[0] == b's': # "%s"
* format_count += 1 # <<<<<<<<<<<<<<
*/
__pyx_v_format_count = (__pyx_v_format_count + 1);
- /* "src/lxml/xmlerror.pxi":632
+ /* "src/lxml/xmlerror.pxi":642
* if c_pos[0] == b's': # "%s"
* format_count += 1
* c_str = cvarargs.va_charptr(args) # <<<<<<<<<<<<<<
*/
__pyx_v_c_str = va_charptr(__pyx_v_args);
- /* "src/lxml/xmlerror.pxi":633
+ /* "src/lxml/xmlerror.pxi":643
* format_count += 1
* c_str = cvarargs.va_charptr(args)
* if c_pos == msg + 1: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_pos == (__pyx_v_msg + 1)) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":634
+ /* "src/lxml/xmlerror.pxi":644
* c_str = cvarargs.va_charptr(args)
* if c_pos == msg + 1:
* c_text = c_str # msg == "%s..." # <<<<<<<<<<<<<<
*/
__pyx_v_c_text = __pyx_v_c_str;
- /* "src/lxml/xmlerror.pxi":633
+ /* "src/lxml/xmlerror.pxi":643
* format_count += 1
* c_str = cvarargs.va_charptr(args)
* if c_pos == msg + 1: # <<<<<<<<<<<<<<
goto __pyx_L8;
}
- /* "src/lxml/xmlerror.pxi":635
+ /* "src/lxml/xmlerror.pxi":645
* if c_pos == msg + 1:
* c_text = c_str # msg == "%s..."
* elif c_name_pos[0] == b'e': # <<<<<<<<<<<<<<
__pyx_t_1 = (((__pyx_v_c_name_pos[0]) == 'e') != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":636
+ /* "src/lxml/xmlerror.pxi":646
* c_text = c_str # msg == "%s..."
* elif c_name_pos[0] == b'e':
* if cstring_h.strncmp(c_name_pos, 'element %s', 10): # <<<<<<<<<<<<<<
__pyx_t_1 = (strncmp(__pyx_v_c_name_pos, __pyx_k_element_s, 10) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":637
+ /* "src/lxml/xmlerror.pxi":647
* elif c_name_pos[0] == b'e':
* if cstring_h.strncmp(c_name_pos, 'element %s', 10):
* c_element = c_str # <<<<<<<<<<<<<<
*/
__pyx_v_c_element = __pyx_v_c_str;
- /* "src/lxml/xmlerror.pxi":636
+ /* "src/lxml/xmlerror.pxi":646
* c_text = c_str # msg == "%s..."
* elif c_name_pos[0] == b'e':
* if cstring_h.strncmp(c_name_pos, 'element %s', 10): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":635
+ /* "src/lxml/xmlerror.pxi":645
* if c_pos == msg + 1:
* c_text = c_str # msg == "%s..."
* elif c_name_pos[0] == b'e': # <<<<<<<<<<<<<<
goto __pyx_L8;
}
- /* "src/lxml/xmlerror.pxi":638
+ /* "src/lxml/xmlerror.pxi":648
* if cstring_h.strncmp(c_name_pos, 'element %s', 10):
* c_element = c_str
* elif c_name_pos[0] == b'f': # <<<<<<<<<<<<<<
__pyx_t_1 = (((__pyx_v_c_name_pos[0]) == 'f') != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":639
+ /* "src/lxml/xmlerror.pxi":649
* c_element = c_str
* elif c_name_pos[0] == b'f':
* if cstring_h.strncmp(c_name_pos, 'file %s', 7): # <<<<<<<<<<<<<<
__pyx_t_1 = (strncmp(__pyx_v_c_name_pos, __pyx_k_file_s, 7) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":641
+ /* "src/lxml/xmlerror.pxi":651
* if cstring_h.strncmp(c_name_pos, 'file %s', 7):
* if cstring_h.strncmp('string://__STRING__XSLT',
* c_str, 23) == 0: # <<<<<<<<<<<<<<
*/
__pyx_t_1 = ((strncmp(__pyx_k_string___STRING__XSLT, __pyx_v_c_str, 23) == 0) != 0);
- /* "src/lxml/xmlerror.pxi":640
+ /* "src/lxml/xmlerror.pxi":650
* elif c_name_pos[0] == b'f':
* if cstring_h.strncmp(c_name_pos, 'file %s', 7):
* if cstring_h.strncmp('string://__STRING__XSLT', # <<<<<<<<<<<<<<
*/
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":642
+ /* "src/lxml/xmlerror.pxi":652
* if cstring_h.strncmp('string://__STRING__XSLT',
* c_str, 23) == 0:
* c_str = '<xslt>' # <<<<<<<<<<<<<<
*/
__pyx_v_c_str = __pyx_k_xslt;
- /* "src/lxml/xmlerror.pxi":640
+ /* "src/lxml/xmlerror.pxi":650
* elif c_name_pos[0] == b'f':
* if cstring_h.strncmp(c_name_pos, 'file %s', 7):
* if cstring_h.strncmp('string://__STRING__XSLT', # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":643
+ /* "src/lxml/xmlerror.pxi":653
* c_str, 23) == 0:
* c_str = '<xslt>'
* c_error.file = c_str # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.file = __pyx_v_c_str;
- /* "src/lxml/xmlerror.pxi":639
+ /* "src/lxml/xmlerror.pxi":649
* c_element = c_str
* elif c_name_pos[0] == b'f':
* if cstring_h.strncmp(c_name_pos, 'file %s', 7): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":638
+ /* "src/lxml/xmlerror.pxi":648
* if cstring_h.strncmp(c_name_pos, 'element %s', 10):
* c_element = c_str
* elif c_name_pos[0] == b'f': # <<<<<<<<<<<<<<
}
__pyx_L8:;
- /* "src/lxml/xmlerror.pxi":630
+ /* "src/lxml/xmlerror.pxi":640
* if c_pos[0] == b'%':
* c_pos += 1
* if c_pos[0] == b's': # "%s" # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/xmlerror.pxi":644
+ /* "src/lxml/xmlerror.pxi":654
* c_str = '<xslt>'
* c_error.file = c_str
* elif c_pos[0] == b'd': # "%d" # <<<<<<<<<<<<<<
__pyx_t_1 = (((__pyx_v_c_pos[0]) == 'd') != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":645
+ /* "src/lxml/xmlerror.pxi":655
* c_error.file = c_str
* elif c_pos[0] == b'd': # "%d"
* format_count += 1 # <<<<<<<<<<<<<<
*/
__pyx_v_format_count = (__pyx_v_format_count + 1);
- /* "src/lxml/xmlerror.pxi":646
+ /* "src/lxml/xmlerror.pxi":656
* elif c_pos[0] == b'd': # "%d"
* format_count += 1
* c_int = cvarargs.va_int(args) # <<<<<<<<<<<<<<
*/
__pyx_v_c_int = va_int(__pyx_v_args);
- /* "src/lxml/xmlerror.pxi":647
+ /* "src/lxml/xmlerror.pxi":657
* format_count += 1
* c_int = cvarargs.va_int(args)
* if cstring_h.strncmp(c_name_pos, 'line %d', 7): # <<<<<<<<<<<<<<
__pyx_t_1 = (strncmp(__pyx_v_c_name_pos, __pyx_k_line_d, 7) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":648
+ /* "src/lxml/xmlerror.pxi":658
* c_int = cvarargs.va_int(args)
* if cstring_h.strncmp(c_name_pos, 'line %d', 7):
* c_error.line = c_int # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.line = __pyx_v_c_int;
- /* "src/lxml/xmlerror.pxi":647
+ /* "src/lxml/xmlerror.pxi":657
* format_count += 1
* c_int = cvarargs.va_int(args)
* if cstring_h.strncmp(c_name_pos, 'line %d', 7): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":644
+ /* "src/lxml/xmlerror.pxi":654
* c_str = '<xslt>'
* c_error.file = c_str
* elif c_pos[0] == b'd': # "%d" # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/xmlerror.pxi":649
+ /* "src/lxml/xmlerror.pxi":659
* if cstring_h.strncmp(c_name_pos, 'line %d', 7):
* c_error.line = c_int
* elif c_pos[0] != b'%': # "%%" == "%" # <<<<<<<<<<<<<<
__pyx_t_1 = (((__pyx_v_c_pos[0]) != '%') != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":650
+ /* "src/lxml/xmlerror.pxi":660
* c_error.line = c_int
* elif c_pos[0] != b'%': # "%%" == "%"
* format_count += 1 # <<<<<<<<<<<<<<
*/
__pyx_v_format_count = (__pyx_v_format_count + 1);
- /* "src/lxml/xmlerror.pxi":651
+ /* "src/lxml/xmlerror.pxi":661
* elif c_pos[0] != b'%': # "%%" == "%"
* format_count += 1
* break # unexpected format or end of string => abort # <<<<<<<<<<<<<<
*/
goto __pyx_L5_break;
- /* "src/lxml/xmlerror.pxi":649
+ /* "src/lxml/xmlerror.pxi":659
* if cstring_h.strncmp(c_name_pos, 'line %d', 7):
* c_error.line = c_int
* elif c_pos[0] != b'%': # "%%" == "%" # <<<<<<<<<<<<<<
}
__pyx_L7:;
- /* "src/lxml/xmlerror.pxi":628
+ /* "src/lxml/xmlerror.pxi":638
* format_count = 0
* while c_pos[0]:
* if c_pos[0] == b'%': # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/xmlerror.pxi":652
+ /* "src/lxml/xmlerror.pxi":662
* format_count += 1
* break # unexpected format or end of string => abort
* elif c_pos[0] == b' ': # <<<<<<<<<<<<<<
__pyx_t_1 = (((__pyx_v_c_pos[0]) == ' ') != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":653
+ /* "src/lxml/xmlerror.pxi":663
* break # unexpected format or end of string => abort
* elif c_pos[0] == b' ':
* if c_pos[1] != b'%': # <<<<<<<<<<<<<<
__pyx_t_1 = (((__pyx_v_c_pos[1]) != '%') != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":654
+ /* "src/lxml/xmlerror.pxi":664
* elif c_pos[0] == b' ':
* if c_pos[1] != b'%':
* c_name_pos = c_pos + 1 # <<<<<<<<<<<<<<
*/
__pyx_v_c_name_pos = (__pyx_v_c_pos + 1);
- /* "src/lxml/xmlerror.pxi":653
+ /* "src/lxml/xmlerror.pxi":663
* break # unexpected format or end of string => abort
* elif c_pos[0] == b' ':
* if c_pos[1] != b'%': # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":652
+ /* "src/lxml/xmlerror.pxi":662
* format_count += 1
* break # unexpected format or end of string => abort
* elif c_pos[0] == b' ': # <<<<<<<<<<<<<<
}
__pyx_L6:;
- /* "src/lxml/xmlerror.pxi":655
+ /* "src/lxml/xmlerror.pxi":665
* if c_pos[1] != b'%':
* c_name_pos = c_pos + 1
* c_pos += 1 # <<<<<<<<<<<<<<
}
__pyx_L5_break:;
- /* "src/lxml/xmlerror.pxi":656
+ /* "src/lxml/xmlerror.pxi":666
* c_name_pos = c_pos + 1
* c_pos += 1
* cvarargs.va_end(args) # <<<<<<<<<<<<<<
*/
va_end(__pyx_v_args);
- /* "src/lxml/xmlerror.pxi":658
+ /* "src/lxml/xmlerror.pxi":668
* cvarargs.va_end(args)
*
* c_message = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_c_message = NULL;
- /* "src/lxml/xmlerror.pxi":659
+ /* "src/lxml/xmlerror.pxi":669
*
* c_message = NULL
* if c_text is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_text == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":660
+ /* "src/lxml/xmlerror.pxi":670
* c_message = NULL
* if c_text is NULL:
* if c_element is not NULL and format_count == 1: # <<<<<<<<<<<<<<
__pyx_L16_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":662
+ /* "src/lxml/xmlerror.pxi":672
* if c_element is not NULL and format_count == 1:
* # special case: a single occurrence of 'element %s'
* text_size = cstring_h.strlen(msg) # <<<<<<<<<<<<<<
*/
__pyx_v_text_size = strlen(__pyx_v_msg);
- /* "src/lxml/xmlerror.pxi":663
+ /* "src/lxml/xmlerror.pxi":673
* # special case: a single occurrence of 'element %s'
* text_size = cstring_h.strlen(msg)
* element_size = cstring_h.strlen(c_element) # <<<<<<<<<<<<<<
*/
__pyx_v_element_size = strlen(__pyx_v_c_element);
- /* "src/lxml/xmlerror.pxi":664
+ /* "src/lxml/xmlerror.pxi":674
* text_size = cstring_h.strlen(msg)
* element_size = cstring_h.strlen(c_element)
* c_message = <char*>stdlib.malloc( # <<<<<<<<<<<<<<
*/
__pyx_v_c_message = ((char *)malloc((((__pyx_v_text_size + __pyx_v_element_size) + 1) * (sizeof(char)))));
- /* "src/lxml/xmlerror.pxi":666
+ /* "src/lxml/xmlerror.pxi":676
* c_message = <char*>stdlib.malloc(
* (text_size + element_size + 1) * sizeof(char))
* stdio.sprintf(c_message, msg, c_element) # <<<<<<<<<<<<<<
*/
sprintf(__pyx_v_c_message, __pyx_v_msg, __pyx_v_c_element);
- /* "src/lxml/xmlerror.pxi":667
+ /* "src/lxml/xmlerror.pxi":677
* (text_size + element_size + 1) * sizeof(char))
* stdio.sprintf(c_message, msg, c_element)
* c_error.message = c_message # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.message = __pyx_v_c_message;
- /* "src/lxml/xmlerror.pxi":660
+ /* "src/lxml/xmlerror.pxi":670
* c_message = NULL
* if c_text is NULL:
* if c_element is not NULL and format_count == 1: # <<<<<<<<<<<<<<
goto __pyx_L15;
}
- /* "src/lxml/xmlerror.pxi":669
+ /* "src/lxml/xmlerror.pxi":679
* c_error.message = c_message
* else:
* c_error.message = '' # <<<<<<<<<<<<<<
}
__pyx_L15:;
- /* "src/lxml/xmlerror.pxi":659
+ /* "src/lxml/xmlerror.pxi":669
*
* c_message = NULL
* if c_text is NULL: # <<<<<<<<<<<<<<
goto __pyx_L14;
}
- /* "src/lxml/xmlerror.pxi":670
+ /* "src/lxml/xmlerror.pxi":680
* else:
* c_error.message = ''
* elif c_element is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_element == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":671
+ /* "src/lxml/xmlerror.pxi":681
* c_error.message = ''
* elif c_element is NULL:
* c_error.message = c_text # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.message = __pyx_v_c_text;
- /* "src/lxml/xmlerror.pxi":670
+ /* "src/lxml/xmlerror.pxi":680
* else:
* c_error.message = ''
* elif c_element is NULL: # <<<<<<<<<<<<<<
goto __pyx_L14;
}
- /* "src/lxml/xmlerror.pxi":673
+ /* "src/lxml/xmlerror.pxi":683
* c_error.message = c_text
* else:
* text_size = cstring_h.strlen(c_text) # <<<<<<<<<<<<<<
/*else*/ {
__pyx_v_text_size = strlen(__pyx_v_c_text);
- /* "src/lxml/xmlerror.pxi":674
+ /* "src/lxml/xmlerror.pxi":684
* else:
* text_size = cstring_h.strlen(c_text)
* element_size = cstring_h.strlen(c_element) # <<<<<<<<<<<<<<
*/
__pyx_v_element_size = strlen(__pyx_v_c_element);
- /* "src/lxml/xmlerror.pxi":675
+ /* "src/lxml/xmlerror.pxi":685
* text_size = cstring_h.strlen(c_text)
* element_size = cstring_h.strlen(c_element)
* c_message = <char*>stdlib.malloc( # <<<<<<<<<<<<<<
*/
__pyx_v_c_message = ((char *)malloc(((((__pyx_v_text_size + 12) + __pyx_v_element_size) + 1) * (sizeof(char)))));
- /* "src/lxml/xmlerror.pxi":677
+ /* "src/lxml/xmlerror.pxi":687
* c_message = <char*>stdlib.malloc(
* (text_size + 12 + element_size + 1) * sizeof(char))
* stdio.sprintf(c_message, "%s, element '%s'", c_text, c_element) # <<<<<<<<<<<<<<
*/
sprintf(__pyx_v_c_message, __pyx_k_s_element_s, __pyx_v_c_text, __pyx_v_c_element);
- /* "src/lxml/xmlerror.pxi":678
+ /* "src/lxml/xmlerror.pxi":688
* (text_size + 12 + element_size + 1) * sizeof(char))
* stdio.sprintf(c_message, "%s, element '%s'", c_text, c_element)
* c_error.message = c_message # <<<<<<<<<<<<<<
}
__pyx_L14:;
- /* "src/lxml/xmlerror.pxi":680
+ /* "src/lxml/xmlerror.pxi":690
* c_error.message = c_message
*
* c_error.domain = xmlerror.XML_FROM_XSLT # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.domain = XML_FROM_XSLT;
- /* "src/lxml/xmlerror.pxi":681
+ /* "src/lxml/xmlerror.pxi":691
*
* c_error.domain = xmlerror.XML_FROM_XSLT
* c_error.code = xmlerror.XML_ERR_OK # what else? # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.code = XML_ERR_OK;
- /* "src/lxml/xmlerror.pxi":682
+ /* "src/lxml/xmlerror.pxi":692
* c_error.domain = xmlerror.XML_FROM_XSLT
* c_error.code = xmlerror.XML_ERR_OK # what else?
* c_error.level = xmlerror.XML_ERR_ERROR # what else? # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.level = XML_ERR_ERROR;
- /* "src/lxml/xmlerror.pxi":683
+ /* "src/lxml/xmlerror.pxi":693
* c_error.code = xmlerror.XML_ERR_OK # what else?
* c_error.level = xmlerror.XML_ERR_ERROR # what else?
* c_error.int2 = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_c_error.int2 = 0;
- /* "src/lxml/xmlerror.pxi":685
+ /* "src/lxml/xmlerror.pxi":695
* c_error.int2 = 0
*
* _forwardError(c_log_handler, &c_error) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree__forwardError(__pyx_v_c_log_handler, (&__pyx_v_c_error));
- /* "src/lxml/xmlerror.pxi":687
+ /* "src/lxml/xmlerror.pxi":697
* _forwardError(c_log_handler, &c_error)
*
* if c_message is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_message != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/xmlerror.pxi":688
+ /* "src/lxml/xmlerror.pxi":698
*
* if c_message is not NULL:
* stdlib.free(c_message) # <<<<<<<<<<<<<<
*/
free(__pyx_v_c_message);
- /* "src/lxml/xmlerror.pxi":687
+ /* "src/lxml/xmlerror.pxi":697
* _forwardError(c_log_handler, &c_error)
*
* if c_message is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/xmlerror.pxi":604
+ /* "src/lxml/xmlerror.pxi":614
* _forwardError(c_log_handler, error)
*
* cdef void _receiveXSLTError(void* c_log_handler, char* msg, ...) nogil: # <<<<<<<<<<<<<<
__pyx_L0:;
}
-/* "src/lxml/xmlerror.pxi":694
+/* "src/lxml/xmlerror.pxi":704
* ################################################################################
*
* cdef __initErrorConstants(): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__initErrorConstants", 0);
- /* "src/lxml/xmlerror.pxi":697
+ /* "src/lxml/xmlerror.pxi":707
* u"Called at setup time to parse the constants and build the classes below."
* global __ERROR_LEVELS, __ERROR_DOMAINS, __PARSER_ERROR_TYPES, __RELAXNG_ERROR_TYPES
* find_constants = re.compile(ur"\s*([a-zA-Z0-9_]+)\s*=\s*([0-9]+)").findall # <<<<<<<<<<<<<<
* const_defs = ((ErrorLevels, __ERROR_LEVELS),
* (ErrorDomains, __ERROR_DOMAINS),
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_findall); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_findall); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_find_constants = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":698
+ /* "src/lxml/xmlerror.pxi":708
* global __ERROR_LEVELS, __ERROR_DOMAINS, __PARSER_ERROR_TYPES, __RELAXNG_ERROR_TYPES
* find_constants = re.compile(ur"\s*([a-zA-Z0-9_]+)\s*=\s*([0-9]+)").findall
* const_defs = ((ErrorLevels, __ERROR_LEVELS), # <<<<<<<<<<<<<<
* (ErrorDomains, __ERROR_DOMAINS),
* (ErrorTypes, __PARSER_ERROR_TYPES),
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorLevels); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorLevels); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_4lxml_5etree___ERROR_LEVELS);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":699
+ /* "src/lxml/xmlerror.pxi":709
* find_constants = re.compile(ur"\s*([a-zA-Z0-9_]+)\s*=\s*([0-9]+)").findall
* const_defs = ((ErrorLevels, __ERROR_LEVELS),
* (ErrorDomains, __ERROR_DOMAINS), # <<<<<<<<<<<<<<
* (ErrorTypes, __PARSER_ERROR_TYPES),
* (RelaxNGErrorTypes, __RELAXNG_ERROR_TYPES))
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorDomains); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorDomains); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_4lxml_5etree___ERROR_DOMAINS);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":700
+ /* "src/lxml/xmlerror.pxi":710
* const_defs = ((ErrorLevels, __ERROR_LEVELS),
* (ErrorDomains, __ERROR_DOMAINS),
* (ErrorTypes, __PARSER_ERROR_TYPES), # <<<<<<<<<<<<<<
* (RelaxNGErrorTypes, __RELAXNG_ERROR_TYPES))
* for cls, constant_tuple in const_defs:
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_4lxml_5etree___PARSER_ERROR_TYPES);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":701
+ /* "src/lxml/xmlerror.pxi":711
* (ErrorDomains, __ERROR_DOMAINS),
* (ErrorTypes, __PARSER_ERROR_TYPES),
* (RelaxNGErrorTypes, __RELAXNG_ERROR_TYPES)) # <<<<<<<<<<<<<<
* for cls, constant_tuple in const_defs:
* reverse_dict = {}
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_RelaxNGErrorTypes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_RelaxNGErrorTypes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_4lxml_5etree___RELAXNG_ERROR_TYPES);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":698
+ /* "src/lxml/xmlerror.pxi":708
* global __ERROR_LEVELS, __ERROR_DOMAINS, __PARSER_ERROR_TYPES, __RELAXNG_ERROR_TYPES
* find_constants = re.compile(ur"\s*([a-zA-Z0-9_]+)\s*=\s*([0-9]+)").findall
* const_defs = ((ErrorLevels, __ERROR_LEVELS), # <<<<<<<<<<<<<<
* (ErrorDomains, __ERROR_DOMAINS),
* (ErrorTypes, __PARSER_ERROR_TYPES),
*/
- __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
__pyx_v_const_defs = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":702
+ /* "src/lxml/xmlerror.pxi":712
* (ErrorTypes, __PARSER_ERROR_TYPES),
* (RelaxNGErrorTypes, __RELAXNG_ERROR_TYPES))
* for cls, constant_tuple in const_defs: # <<<<<<<<<<<<<<
for (;;) {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
if (likely(__pyx_t_5 != Py_None)) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
__pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_3);
#else
- __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
- __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_XDECREF_SET(__pyx_v_cls, __pyx_t_4);
__pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_constant_tuple, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/xmlerror.pxi":703
+ /* "src/lxml/xmlerror.pxi":713
* (RelaxNGErrorTypes, __RELAXNG_ERROR_TYPES))
* for cls, constant_tuple in const_defs:
* reverse_dict = {} # <<<<<<<<<<<<<<
* cls._names = reverse_dict
* cls._getName = reverse_dict.get
*/
- __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_XDECREF_SET(__pyx_v_reverse_dict, ((PyObject*)__pyx_t_5));
__pyx_t_5 = 0;
- /* "src/lxml/xmlerror.pxi":704
+ /* "src/lxml/xmlerror.pxi":714
* for cls, constant_tuple in const_defs:
* reverse_dict = {}
* cls._names = reverse_dict # <<<<<<<<<<<<<<
* cls._getName = reverse_dict.get
* for constants in constant_tuple:
*/
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_names, __pyx_v_reverse_dict) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_names, __pyx_v_reverse_dict) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":705
+ /* "src/lxml/xmlerror.pxi":715
* reverse_dict = {}
* cls._names = reverse_dict
* cls._getName = reverse_dict.get # <<<<<<<<<<<<<<
* for constants in constant_tuple:
* #print len(constants) + 1
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reverse_dict, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reverse_dict, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_getName, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_cls, __pyx_n_s_getName, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/xmlerror.pxi":706
+ /* "src/lxml/xmlerror.pxi":716
* cls._names = reverse_dict
* cls._getName = reverse_dict.get
* for constants in constant_tuple: # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_v_constant_tuple; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
- __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_constant_tuple); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_constant_tuple); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_8 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_5))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[1]; __pyx_lineno = 706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
__Pyx_XDECREF_SET(__pyx_v_constants, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/xmlerror.pxi":708
+ /* "src/lxml/xmlerror.pxi":718
* for constants in constant_tuple:
* #print len(constants) + 1
* for name, value in find_constants(constants): # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_2) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_constants); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_constants); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
} else {
- __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); __pyx_t_2 = NULL;
__Pyx_INCREF(__pyx_v_constants);
__Pyx_GIVEREF(__pyx_v_constants);
PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_constants);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_10 = 0;
__pyx_t_11 = NULL;
} else {
- __pyx_t_10 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(__pyx_t_2);
#else
- __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
#endif
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_13 = Py_TYPE(__pyx_t_12)->tp_iternext;
__Pyx_GOTREF(__pyx_t_9);
index = 1; __pyx_t_2 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_2)) goto __pyx_L9_unpacking_failed;
__Pyx_GOTREF(__pyx_t_2);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_13 = NULL;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
goto __pyx_L10_unpacking_done;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_13 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[1]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L10_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_9);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/xmlerror.pxi":709
+ /* "src/lxml/xmlerror.pxi":719
* #print len(constants) + 1
* for name, value in find_constants(constants):
* value = int(value) # <<<<<<<<<<<<<<
* setattr(cls, name, value)
* reverse_dict[value] = name
*/
- __pyx_t_3 = PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 709; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/xmlerror.pxi":710
+ /* "src/lxml/xmlerror.pxi":720
* for name, value in find_constants(constants):
* value = int(value)
* setattr(cls, name, value) # <<<<<<<<<<<<<<
* reverse_dict[value] = name
*
*/
- __pyx_t_14 = PyObject_SetAttr(__pyx_v_cls, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_14 = PyObject_SetAttr(__pyx_v_cls, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":711
+ /* "src/lxml/xmlerror.pxi":721
* value = int(value)
* setattr(cls, name, value)
* reverse_dict[value] = name # <<<<<<<<<<<<<<
*
* # discard the global tuple references after use
*/
- if (unlikely(PyDict_SetItem(__pyx_v_reverse_dict, __pyx_v_value, __pyx_v_name) < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyDict_SetItem(__pyx_v_reverse_dict, __pyx_v_value, __pyx_v_name) < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":708
+ /* "src/lxml/xmlerror.pxi":718
* for constants in constant_tuple:
* #print len(constants) + 1
* for name, value in find_constants(constants): # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/xmlerror.pxi":706
+ /* "src/lxml/xmlerror.pxi":716
* cls._names = reverse_dict
* cls._getName = reverse_dict.get
* for constants in constant_tuple: # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/xmlerror.pxi":702
+ /* "src/lxml/xmlerror.pxi":712
* (ErrorTypes, __PARSER_ERROR_TYPES),
* (RelaxNGErrorTypes, __RELAXNG_ERROR_TYPES))
* for cls, constant_tuple in const_defs: # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":714
+ /* "src/lxml/xmlerror.pxi":724
*
* # discard the global tuple references after use
* __ERROR_LEVELS = __ERROR_DOMAINS = __PARSER_ERROR_TYPES = __RELAXNG_ERROR_TYPES = None # <<<<<<<<<<<<<<
__Pyx_DECREF_SET(__pyx_v_4lxml_5etree___RELAXNG_ERROR_TYPES, Py_None);
__Pyx_GIVEREF(Py_None);
- /* "src/lxml/xmlerror.pxi":694
+ /* "src/lxml/xmlerror.pxi":704
* ################################################################################
*
* cdef __initErrorConstants(): # <<<<<<<<<<<<<<
PyObject *__pyx_v_url = NULL;
PyObject *__pyx_v_pubid = NULL;
PyObject *__pyx_v_data = NULL;
+ PyObject *__pyx_v_filename = NULL;
char *__pyx_v_c_filename;
xmlParserInput *__pyx_r;
__Pyx_RefNannyDeclarations
* if doc_ref is not None:
* if doc_ref._type == PARSER_DATA_STRING: # <<<<<<<<<<<<<<
* data = doc_ref._data_bytes
- * c_input = xmlparser.xmlNewInputStream(c_context)
+ * filename = doc_ref._filename
*/
switch (__pyx_v_doc_ref->_type) {
case __pyx_e_4lxml_5etree_PARSER_DATA_STRING:
* if doc_ref is not None:
* if doc_ref._type == PARSER_DATA_STRING:
* data = doc_ref._data_bytes # <<<<<<<<<<<<<<
- * c_input = xmlparser.xmlNewInputStream(c_context)
- * if c_input is not NULL:
+ * filename = doc_ref._filename
+ * if not filename:
*/
__pyx_t_10 = __pyx_v_doc_ref->_data_bytes;
__Pyx_INCREF(__pyx_t_10);
/* "src/lxml/parser.pxi":448
* if doc_ref._type == PARSER_DATA_STRING:
* data = doc_ref._data_bytes
+ * filename = doc_ref._filename # <<<<<<<<<<<<<<
+ * if not filename:
+ * filename = None
+ */
+ __pyx_t_10 = __pyx_v_doc_ref->_filename;
+ __Pyx_INCREF(__pyx_t_10);
+ __pyx_v_filename = __pyx_t_10;
+ __pyx_t_10 = 0;
+
+ /* "src/lxml/parser.pxi":449
+ * data = doc_ref._data_bytes
+ * filename = doc_ref._filename
+ * if not filename: # <<<<<<<<<<<<<<
+ * filename = None
+ * elif not isinstance(filename, bytes):
+ */
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_filename); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((!__pyx_t_1) != 0);
+ if (__pyx_t_3) {
+
+ /* "src/lxml/parser.pxi":450
+ * filename = doc_ref._filename
+ * if not filename:
+ * filename = None # <<<<<<<<<<<<<<
+ * elif not isinstance(filename, bytes):
+ * # most likely a text URL
+ */
+ __Pyx_INCREF(Py_None);
+ __Pyx_DECREF_SET(__pyx_v_filename, Py_None);
+
+ /* "src/lxml/parser.pxi":449
+ * data = doc_ref._data_bytes
+ * filename = doc_ref._filename
+ * if not filename: # <<<<<<<<<<<<<<
+ * filename = None
+ * elif not isinstance(filename, bytes):
+ */
+ goto __pyx_L22;
+ }
+
+ /* "src/lxml/parser.pxi":451
+ * if not filename:
+ * filename = None
+ * elif not isinstance(filename, bytes): # <<<<<<<<<<<<<<
+ * # most likely a text URL
+ * filename = filename.encode('utf8')
+ */
+ __pyx_t_3 = PyBytes_Check(__pyx_v_filename);
+ __pyx_t_1 = ((!(__pyx_t_3 != 0)) != 0);
+ if (__pyx_t_1) {
+
+ /* "src/lxml/parser.pxi":453
+ * elif not isinstance(filename, bytes):
+ * # most likely a text URL
+ * filename = filename.encode('utf8') # <<<<<<<<<<<<<<
+ * if not isinstance(filename, bytes):
+ * filename = None
+ */
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_encode); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_10);
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_7);
+ __pyx_t_7 = 0;
+
+ /* "src/lxml/parser.pxi":454
+ * # most likely a text URL
+ * filename = filename.encode('utf8')
+ * if not isinstance(filename, bytes): # <<<<<<<<<<<<<<
+ * filename = None
+ *
+ */
+ __pyx_t_1 = PyBytes_Check(__pyx_v_filename);
+ __pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0);
+ if (__pyx_t_3) {
+
+ /* "src/lxml/parser.pxi":455
+ * filename = filename.encode('utf8')
+ * if not isinstance(filename, bytes):
+ * filename = None # <<<<<<<<<<<<<<
+ *
+ * c_input = xmlparser.xmlNewInputStream(c_context)
+ */
+ __Pyx_INCREF(Py_None);
+ __Pyx_DECREF_SET(__pyx_v_filename, Py_None);
+
+ /* "src/lxml/parser.pxi":454
+ * # most likely a text URL
+ * filename = filename.encode('utf8')
+ * if not isinstance(filename, bytes): # <<<<<<<<<<<<<<
+ * filename = None
+ *
+ */
+ }
+
+ /* "src/lxml/parser.pxi":451
+ * if not filename:
+ * filename = None
+ * elif not isinstance(filename, bytes): # <<<<<<<<<<<<<<
+ * # most likely a text URL
+ * filename = filename.encode('utf8')
+ */
+ }
+ __pyx_L22:;
+
+ /* "src/lxml/parser.pxi":457
+ * filename = None
+ *
* c_input = xmlparser.xmlNewInputStream(c_context) # <<<<<<<<<<<<<<
* if c_input is not NULL:
- * c_input.base = _xcstr(data)
+ * if filename is not None:
*/
__pyx_v_c_input = xmlNewInputStream(__pyx_v_c_context);
- /* "src/lxml/parser.pxi":449
- * data = doc_ref._data_bytes
+ /* "src/lxml/parser.pxi":458
+ *
* c_input = xmlparser.xmlNewInputStream(c_context)
* if c_input is not NULL: # <<<<<<<<<<<<<<
+ * if filename is not None:
+ * c_input.filename = <char *>tree.xmlStrdup(_xcstr(filename))
+ */
+ __pyx_t_3 = ((__pyx_v_c_input != NULL) != 0);
+ if (__pyx_t_3) {
+
+ /* "src/lxml/parser.pxi":459
+ * c_input = xmlparser.xmlNewInputStream(c_context)
+ * if c_input is not NULL:
+ * if filename is not None: # <<<<<<<<<<<<<<
+ * c_input.filename = <char *>tree.xmlStrdup(_xcstr(filename))
+ * c_input.base = _xcstr(data)
+ */
+ __pyx_t_3 = (__pyx_v_filename != Py_None);
+ __pyx_t_1 = (__pyx_t_3 != 0);
+ if (__pyx_t_1) {
+
+ /* "src/lxml/parser.pxi":460
+ * if c_input is not NULL:
+ * if filename is not None:
+ * c_input.filename = <char *>tree.xmlStrdup(_xcstr(filename)) # <<<<<<<<<<<<<<
* c_input.base = _xcstr(data)
* c_input.length = python.PyBytes_GET_SIZE(data)
*/
- __pyx_t_1 = ((__pyx_v_c_input != NULL) != 0);
- if (__pyx_t_1) {
+ __pyx_v_c_input->filename = ((char *)xmlStrdup((const xmlChar*)PyBytes_AS_STRING(__pyx_v_filename)));
- /* "src/lxml/parser.pxi":450
+ /* "src/lxml/parser.pxi":459
* c_input = xmlparser.xmlNewInputStream(c_context)
* if c_input is not NULL:
+ * if filename is not None: # <<<<<<<<<<<<<<
+ * c_input.filename = <char *>tree.xmlStrdup(_xcstr(filename))
+ * c_input.base = _xcstr(data)
+ */
+ }
+
+ /* "src/lxml/parser.pxi":461
+ * if filename is not None:
+ * c_input.filename = <char *>tree.xmlStrdup(_xcstr(filename))
* c_input.base = _xcstr(data) # <<<<<<<<<<<<<<
* c_input.length = python.PyBytes_GET_SIZE(data)
* c_input.cur = c_input.base
*/
__pyx_v_c_input->base = (const xmlChar*)PyBytes_AS_STRING(__pyx_v_data);
- /* "src/lxml/parser.pxi":451
- * if c_input is not NULL:
+ /* "src/lxml/parser.pxi":462
+ * c_input.filename = <char *>tree.xmlStrdup(_xcstr(filename))
* c_input.base = _xcstr(data)
* c_input.length = python.PyBytes_GET_SIZE(data) # <<<<<<<<<<<<<<
* c_input.cur = c_input.base
*/
__pyx_v_c_input->length = PyBytes_GET_SIZE(__pyx_v_data);
- /* "src/lxml/parser.pxi":452
+ /* "src/lxml/parser.pxi":463
* c_input.base = _xcstr(data)
* c_input.length = python.PyBytes_GET_SIZE(data)
* c_input.cur = c_input.base # <<<<<<<<<<<<<<
__pyx_t_11 = __pyx_v_c_input->base;
__pyx_v_c_input->cur = __pyx_t_11;
- /* "src/lxml/parser.pxi":453
+ /* "src/lxml/parser.pxi":464
* c_input.length = python.PyBytes_GET_SIZE(data)
* c_input.cur = c_input.base
* c_input.end = c_input.base + c_input.length # <<<<<<<<<<<<<<
*/
__pyx_v_c_input->end = (__pyx_v_c_input->base + __pyx_v_c_input->length);
- /* "src/lxml/parser.pxi":449
- * data = doc_ref._data_bytes
+ /* "src/lxml/parser.pxi":458
+ *
* c_input = xmlparser.xmlNewInputStream(c_context)
* if c_input is not NULL: # <<<<<<<<<<<<<<
- * c_input.base = _xcstr(data)
- * c_input.length = python.PyBytes_GET_SIZE(data)
+ * if filename is not None:
+ * c_input.filename = <char *>tree.xmlStrdup(_xcstr(filename))
*/
}
* if doc_ref is not None:
* if doc_ref._type == PARSER_DATA_STRING: # <<<<<<<<<<<<<<
* data = doc_ref._data_bytes
- * c_input = xmlparser.xmlNewInputStream(c_context)
+ * filename = doc_ref._filename
*/
break;
- /* "src/lxml/parser.pxi":454
+ /* "src/lxml/parser.pxi":465
* c_input.cur = c_input.base
* c_input.end = c_input.base + c_input.length
* elif doc_ref._type == PARSER_DATA_FILENAME: # <<<<<<<<<<<<<<
*/
case __pyx_e_4lxml_5etree_PARSER_DATA_FILENAME:
- /* "src/lxml/parser.pxi":455
+ /* "src/lxml/parser.pxi":466
* c_input.end = c_input.base + c_input.length
* elif doc_ref._type == PARSER_DATA_FILENAME:
* data = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__pyx_v_data = Py_None;
- /* "src/lxml/parser.pxi":456
+ /* "src/lxml/parser.pxi":467
* elif doc_ref._type == PARSER_DATA_FILENAME:
* data = None
* c_filename = _cstr(doc_ref._filename) # <<<<<<<<<<<<<<
* with nogil:
* # free the GIL as we might do serious I/O here
*/
- __pyx_t_10 = __pyx_v_doc_ref->_filename;
- __Pyx_INCREF(__pyx_t_10);
- __pyx_v_c_filename = PyBytes_AS_STRING(__pyx_t_10);
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __pyx_t_7 = __pyx_v_doc_ref->_filename;
+ __Pyx_INCREF(__pyx_t_7);
+ __pyx_v_c_filename = PyBytes_AS_STRING(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "src/lxml/parser.pxi":457
+ /* "src/lxml/parser.pxi":468
* data = None
* c_filename = _cstr(doc_ref._filename)
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":459
+ /* "src/lxml/parser.pxi":470
* with nogil:
* # free the GIL as we might do serious I/O here
* c_input = xmlparser.xmlNewInputFromFile( # <<<<<<<<<<<<<<
__pyx_v_c_input = xmlNewInputFromFile(__pyx_v_c_context, __pyx_v_c_filename);
}
- /* "src/lxml/parser.pxi":457
+ /* "src/lxml/parser.pxi":468
* data = None
* c_filename = _cstr(doc_ref._filename)
* with nogil: # <<<<<<<<<<<<<<
#ifdef WITH_THREAD
Py_BLOCK_THREADS
#endif
- goto __pyx_L25;
+ goto __pyx_L28;
}
- __pyx_L25:;
+ __pyx_L28:;
}
}
- /* "src/lxml/parser.pxi":454
+ /* "src/lxml/parser.pxi":465
* c_input.cur = c_input.base
* c_input.end = c_input.base + c_input.length
* elif doc_ref._type == PARSER_DATA_FILENAME: # <<<<<<<<<<<<<<
*/
break;
- /* "src/lxml/parser.pxi":461
+ /* "src/lxml/parser.pxi":472
* c_input = xmlparser.xmlNewInputFromFile(
* c_context, c_filename)
* elif doc_ref._type == PARSER_DATA_FILE: # <<<<<<<<<<<<<<
*/
case __pyx_e_4lxml_5etree_PARSER_DATA_FILE:
- /* "src/lxml/parser.pxi":463
+ /* "src/lxml/parser.pxi":474
* elif doc_ref._type == PARSER_DATA_FILE:
* file_context = _FileReaderContext(doc_ref._file, context, url,
* None, doc_ref._close_file) # <<<<<<<<<<<<<<
* c_input = file_context._createParserInput(c_context)
* data = file_context
*/
- __pyx_t_10 = __Pyx_PyBool_FromLong(__pyx_v_doc_ref->_close_file); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_10);
+ __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_doc_ref->_close_file); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
- /* "src/lxml/parser.pxi":462
+ /* "src/lxml/parser.pxi":473
* c_context, c_filename)
* elif doc_ref._type == PARSER_DATA_FILE:
* file_context = _FileReaderContext(doc_ref._file, context, url, # <<<<<<<<<<<<<<
* None, doc_ref._close_file)
* c_input = file_context._createParserInput(c_context)
*/
- __pyx_t_7 = PyTuple_New(5); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_7);
+ __pyx_t_10 = PyTuple_New(5); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_10);
__Pyx_INCREF(__pyx_v_doc_ref->_file);
__Pyx_GIVEREF(__pyx_v_doc_ref->_file);
- PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_doc_ref->_file);
+ PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_doc_ref->_file);
__Pyx_INCREF(((PyObject *)__pyx_v_context));
__Pyx_GIVEREF(((PyObject *)__pyx_v_context));
- PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_context));
+ PyTuple_SET_ITEM(__pyx_t_10, 1, ((PyObject *)__pyx_v_context));
__Pyx_INCREF(__pyx_v_url);
__Pyx_GIVEREF(__pyx_v_url);
- PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_v_url);
+ PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_v_url);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
- PyTuple_SET_ITEM(__pyx_t_7, 3, Py_None);
- __Pyx_GIVEREF(__pyx_t_10);
- PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_t_10);
- __pyx_t_10 = 0;
- __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__FileReaderContext), __pyx_t_7, NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_10);
- __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_v_file_context = ((struct __pyx_obj_4lxml_5etree__FileReaderContext *)__pyx_t_10);
- __pyx_t_10 = 0;
+ PyTuple_SET_ITEM(__pyx_t_10, 3, Py_None);
+ __Pyx_GIVEREF(__pyx_t_7);
+ PyTuple_SET_ITEM(__pyx_t_10, 4, __pyx_t_7);
+ __pyx_t_7 = 0;
+ __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__FileReaderContext), __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_7);
+ __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+ __pyx_v_file_context = ((struct __pyx_obj_4lxml_5etree__FileReaderContext *)__pyx_t_7);
+ __pyx_t_7 = 0;
- /* "src/lxml/parser.pxi":464
+ /* "src/lxml/parser.pxi":475
* file_context = _FileReaderContext(doc_ref._file, context, url,
* None, doc_ref._close_file)
* c_input = file_context._createParserInput(c_context) # <<<<<<<<<<<<<<
*/
__pyx_v_c_input = __pyx_f_4lxml_5etree_18_FileReaderContext__createParserInput(__pyx_v_file_context, __pyx_v_c_context);
- /* "src/lxml/parser.pxi":465
+ /* "src/lxml/parser.pxi":476
* None, doc_ref._close_file)
* c_input = file_context._createParserInput(c_context)
* data = file_context # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)__pyx_v_file_context));
__pyx_v_data = ((PyObject *)__pyx_v_file_context);
- /* "src/lxml/parser.pxi":461
+ /* "src/lxml/parser.pxi":472
* c_input = xmlparser.xmlNewInputFromFile(
* c_context, c_filename)
* elif doc_ref._type == PARSER_DATA_FILE: # <<<<<<<<<<<<<<
break;
default:
- /* "src/lxml/parser.pxi":467
+ /* "src/lxml/parser.pxi":478
* data = file_context
* else:
* data = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__pyx_v_data = Py_None;
- /* "src/lxml/parser.pxi":468
+ /* "src/lxml/parser.pxi":479
* else:
* data = None
* c_input = NULL # <<<<<<<<<<<<<<
break;
}
- /* "src/lxml/parser.pxi":470
+ /* "src/lxml/parser.pxi":481
* c_input = NULL
*
* if data is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_1 != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":471
+ /* "src/lxml/parser.pxi":482
*
* if data is not None:
* context._storage.add(data) # <<<<<<<<<<<<<<
* if c_input is not NULL:
* return c_input
*/
- __pyx_t_12 = __pyx_f_4lxml_5etree_10_TempStore_add(__pyx_v_context->_storage, __pyx_v_data); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __pyx_f_4lxml_5etree_10_TempStore_add(__pyx_v_context->_storage, __pyx_v_data); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":470
+ /* "src/lxml/parser.pxi":481
* c_input = NULL
*
* if data is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":472
+ /* "src/lxml/parser.pxi":483
* if data is not None:
* context._storage.add(data)
* if c_input is not NULL: # <<<<<<<<<<<<<<
__pyx_t_3 = ((__pyx_v_c_input != NULL) != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":473
+ /* "src/lxml/parser.pxi":484
* context._storage.add(data)
* if c_input is not NULL:
* return c_input # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_c_input;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":472
+ /* "src/lxml/parser.pxi":483
* if data is not None:
* context._storage.add(data)
* if c_input is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":475
+ /* "src/lxml/parser.pxi":486
* return c_input
*
* if __DEFAULT_ENTITY_LOADER is NULL: # <<<<<<<<<<<<<<
__pyx_t_3 = ((__pyx_v_4lxml_5etree___DEFAULT_ENTITY_LOADER == NULL) != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":476
+ /* "src/lxml/parser.pxi":487
*
* if __DEFAULT_ENTITY_LOADER is NULL:
* return NULL # <<<<<<<<<<<<<<
__pyx_r = NULL;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":475
+ /* "src/lxml/parser.pxi":486
* return c_input
*
* if __DEFAULT_ENTITY_LOADER is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":478
+ /* "src/lxml/parser.pxi":489
* return NULL
*
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":480
+ /* "src/lxml/parser.pxi":491
* with nogil:
* # free the GIL as we might do serious I/O here (e.g. HTTP)
* c_input = __DEFAULT_ENTITY_LOADER(c_url, c_pubid, c_context) # <<<<<<<<<<<<<<
__pyx_v_c_input = __pyx_v_4lxml_5etree___DEFAULT_ENTITY_LOADER(__pyx_v_c_url, __pyx_v_c_pubid, __pyx_v_c_context);
}
- /* "src/lxml/parser.pxi":478
+ /* "src/lxml/parser.pxi":489
* return NULL
*
* with nogil: # <<<<<<<<<<<<<<
#ifdef WITH_THREAD
Py_BLOCK_THREADS
#endif
- goto __pyx_L31;
+ goto __pyx_L34;
}
- __pyx_L31:;
+ __pyx_L34:;
}
}
- /* "src/lxml/parser.pxi":481
+ /* "src/lxml/parser.pxi":492
* # free the GIL as we might do serious I/O here (e.g. HTTP)
* c_input = __DEFAULT_ENTITY_LOADER(c_url, c_pubid, c_context)
* return c_input # <<<<<<<<<<<<<<
__Pyx_XDECREF(__pyx_v_url);
__Pyx_XDECREF(__pyx_v_pubid);
__Pyx_XDECREF(__pyx_v_data);
+ __Pyx_XDECREF(__pyx_v_filename);
__Pyx_RefNannyFinishContext();
#ifdef WITH_THREAD
PyGILState_Release(__pyx_gilstate_save);
return __pyx_r;
}
-/* "src/lxml/parser.pxi":501
+/* "src/lxml/parser.pxi":512
* cdef bint _collect_ids
*
* def __cinit__(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__cinit__", 0);
- /* "src/lxml/parser.pxi":502
+ /* "src/lxml/parser.pxi":513
*
* def __cinit__(self):
* self._c_ctxt = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_self->_c_ctxt = NULL;
- /* "src/lxml/parser.pxi":503
+ /* "src/lxml/parser.pxi":514
* def __cinit__(self):
* self._c_ctxt = NULL
* self._collect_ids = True # <<<<<<<<<<<<<<
*/
__pyx_v_self->_collect_ids = 1;
- /* "src/lxml/parser.pxi":504
+ /* "src/lxml/parser.pxi":515
* self._c_ctxt = NULL
* self._collect_ids = True
* if not config.ENABLE_THREADING: # <<<<<<<<<<<<<<
__pyx_t_1 = ((!(ENABLE_THREADING != 0)) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":505
+ /* "src/lxml/parser.pxi":516
* self._collect_ids = True
* if not config.ENABLE_THREADING:
* self._lock = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_self->_lock = NULL;
- /* "src/lxml/parser.pxi":504
+ /* "src/lxml/parser.pxi":515
* self._c_ctxt = NULL
* self._collect_ids = True
* if not config.ENABLE_THREADING: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":507
+ /* "src/lxml/parser.pxi":518
* self._lock = NULL
* else:
* self._lock = python.PyThread_allocate_lock() # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":508
+ /* "src/lxml/parser.pxi":519
* else:
* self._lock = python.PyThread_allocate_lock()
* self._error_log = _ErrorLog() # <<<<<<<<<<<<<<
*
* def __dealloc__(self):
*/
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ErrorLog), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ErrorLog), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_v_self->_error_log);
__pyx_v_self->_error_log = ((struct __pyx_obj_4lxml_5etree__ErrorLog *)__pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/parser.pxi":501
+ /* "src/lxml/parser.pxi":512
* cdef bint _collect_ids
*
* def __cinit__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":510
+/* "src/lxml/parser.pxi":521
* self._error_log = _ErrorLog()
*
* def __dealloc__(self): # <<<<<<<<<<<<<<
int __pyx_t_2;
__Pyx_RefNannySetupContext("__dealloc__", 0);
- /* "src/lxml/parser.pxi":511
+ /* "src/lxml/parser.pxi":522
*
* def __dealloc__(self):
* if config.ENABLE_THREADING and self._lock is not NULL: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":512
+ /* "src/lxml/parser.pxi":523
* def __dealloc__(self):
* if config.ENABLE_THREADING and self._lock is not NULL:
* python.PyThread_free_lock(self._lock) # <<<<<<<<<<<<<<
*/
PyThread_free_lock(__pyx_v_self->_lock);
- /* "src/lxml/parser.pxi":511
+ /* "src/lxml/parser.pxi":522
*
* def __dealloc__(self):
* if config.ENABLE_THREADING and self._lock is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":513
+ /* "src/lxml/parser.pxi":524
* if config.ENABLE_THREADING and self._lock is not NULL:
* python.PyThread_free_lock(self._lock)
* if self._c_ctxt is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_self->_c_ctxt != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":514
+ /* "src/lxml/parser.pxi":525
* python.PyThread_free_lock(self._lock)
* if self._c_ctxt is not NULL:
* xmlparser.xmlFreeParserCtxt(self._c_ctxt) # <<<<<<<<<<<<<<
*/
xmlFreeParserCtxt(__pyx_v_self->_c_ctxt);
- /* "src/lxml/parser.pxi":513
+ /* "src/lxml/parser.pxi":524
* if config.ENABLE_THREADING and self._lock is not NULL:
* python.PyThread_free_lock(self._lock)
* if self._c_ctxt is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":510
+ /* "src/lxml/parser.pxi":521
* self._error_log = _ErrorLog()
*
* def __dealloc__(self): # <<<<<<<<<<<<<<
__Pyx_RefNannyFinishContext();
}
-/* "src/lxml/parser.pxi":516
+/* "src/lxml/parser.pxi":527
* xmlparser.xmlFreeParserCtxt(self._c_ctxt)
*
* cdef _ParserContext _copy(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy", 0);
- /* "src/lxml/parser.pxi":518
+ /* "src/lxml/parser.pxi":529
* cdef _ParserContext _copy(self):
* cdef _ParserContext context
* context = self.__class__() # <<<<<<<<<<<<<<
* context._collect_ids = self._collect_ids
* context._validator = self._validator.copy()
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (__pyx_t_3) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__ParserContext))))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__ParserContext))))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":519
+ /* "src/lxml/parser.pxi":530
* cdef _ParserContext context
* context = self.__class__()
* context._collect_ids = self._collect_ids # <<<<<<<<<<<<<<
__pyx_t_4 = __pyx_v_self->_collect_ids;
__pyx_v_context->_collect_ids = __pyx_t_4;
- /* "src/lxml/parser.pxi":520
+ /* "src/lxml/parser.pxi":531
* context = self.__class__()
* context._collect_ids = self._collect_ids
* context._validator = self._validator.copy() # <<<<<<<<<<<<<<
* _initParserContext(context, self._resolvers._copy(), NULL)
* return context
*/
- __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_30_ParserSchemaValidationContext_copy(__pyx_v_self->_validator)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_30_ParserSchemaValidationContext_copy(__pyx_v_self->_validator)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_context->_validator);
__pyx_v_context->_validator = ((struct __pyx_obj_4lxml_5etree__ParserSchemaValidationContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":521
+ /* "src/lxml/parser.pxi":532
* context._collect_ids = self._collect_ids
* context._validator = self._validator.copy()
* _initParserContext(context, self._resolvers._copy(), NULL) # <<<<<<<<<<<<<<
* return context
*
*/
- __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_17_ResolverRegistry__copy(__pyx_v_self->__pyx_base._resolvers)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_17_ResolverRegistry__copy(__pyx_v_self->__pyx_base._resolvers)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_4lxml_5etree__initParserContext(__pyx_v_context, ((struct __pyx_obj_4lxml_5etree__ResolverRegistry *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_5etree__initParserContext(__pyx_v_context, ((struct __pyx_obj_4lxml_5etree__ResolverRegistry *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/parser.pxi":522
+ /* "src/lxml/parser.pxi":533
* context._validator = self._validator.copy()
* _initParserContext(context, self._resolvers._copy(), NULL)
* return context # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_context;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":516
+ /* "src/lxml/parser.pxi":527
* xmlparser.xmlFreeParserCtxt(self._c_ctxt)
*
* cdef _ParserContext _copy(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":524
+/* "src/lxml/parser.pxi":535
* return context
*
* cdef void _initParserContext(self, xmlparser.xmlParserCtxt* c_ctxt): # <<<<<<<<<<<<<<
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("_initParserContext", 0);
- /* "src/lxml/parser.pxi":525
+ /* "src/lxml/parser.pxi":536
*
* cdef void _initParserContext(self, xmlparser.xmlParserCtxt* c_ctxt):
* self._c_ctxt = c_ctxt # <<<<<<<<<<<<<<
*/
__pyx_v_self->_c_ctxt = __pyx_v_c_ctxt;
- /* "src/lxml/parser.pxi":526
+ /* "src/lxml/parser.pxi":537
* cdef void _initParserContext(self, xmlparser.xmlParserCtxt* c_ctxt):
* self._c_ctxt = c_ctxt
* c_ctxt._private = <void*>self # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt->_private = ((void *)__pyx_v_self);
- /* "src/lxml/parser.pxi":524
+ /* "src/lxml/parser.pxi":535
* return context
*
* cdef void _initParserContext(self, xmlparser.xmlParserCtxt* c_ctxt): # <<<<<<<<<<<<<<
__Pyx_RefNannyFinishContext();
}
-/* "src/lxml/parser.pxi":528
+/* "src/lxml/parser.pxi":539
* c_ctxt._private = <void*>self
*
* cdef void _resetParserContext(self): # <<<<<<<<<<<<<<
int __pyx_t_1;
__Pyx_RefNannySetupContext("_resetParserContext", 0);
- /* "src/lxml/parser.pxi":529
+ /* "src/lxml/parser.pxi":540
*
* cdef void _resetParserContext(self):
* if self._c_ctxt is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_self->_c_ctxt != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":530
+ /* "src/lxml/parser.pxi":541
* cdef void _resetParserContext(self):
* if self._c_ctxt is not NULL:
* if self._c_ctxt.html: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_self->_c_ctxt->html != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":531
+ /* "src/lxml/parser.pxi":542
* if self._c_ctxt is not NULL:
* if self._c_ctxt.html:
* htmlparser.htmlCtxtReset(self._c_ctxt) # <<<<<<<<<<<<<<
*/
htmlCtxtReset(__pyx_v_self->_c_ctxt);
- /* "src/lxml/parser.pxi":532
+ /* "src/lxml/parser.pxi":543
* if self._c_ctxt.html:
* htmlparser.htmlCtxtReset(self._c_ctxt)
* self._c_ctxt.disableSAX = 0 # work around bug in libxml2 # <<<<<<<<<<<<<<
*/
__pyx_v_self->_c_ctxt->disableSAX = 0;
- /* "src/lxml/parser.pxi":530
+ /* "src/lxml/parser.pxi":541
* cdef void _resetParserContext(self):
* if self._c_ctxt is not NULL:
* if self._c_ctxt.html: # <<<<<<<<<<<<<<
goto __pyx_L4;
}
- /* "src/lxml/parser.pxi":534
+ /* "src/lxml/parser.pxi":545
* self._c_ctxt.disableSAX = 0 # work around bug in libxml2
* else:
* xmlparser.xmlClearParserCtxt(self._c_ctxt) # <<<<<<<<<<<<<<
}
__pyx_L4:;
- /* "src/lxml/parser.pxi":529
+ /* "src/lxml/parser.pxi":540
*
* cdef void _resetParserContext(self):
* if self._c_ctxt is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":528
+ /* "src/lxml/parser.pxi":539
* c_ctxt._private = <void*>self
*
* cdef void _resetParserContext(self): # <<<<<<<<<<<<<<
__Pyx_RefNannyFinishContext();
}
-/* "src/lxml/parser.pxi":536
+/* "src/lxml/parser.pxi":547
* xmlparser.xmlClearParserCtxt(self._c_ctxt)
*
* cdef int prepare(self) except -1: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("prepare", 0);
- /* "src/lxml/parser.pxi":538
+ /* "src/lxml/parser.pxi":549
* cdef int prepare(self) except -1:
* cdef int result
* if config.ENABLE_THREADING and self._lock is not NULL: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":539
+ /* "src/lxml/parser.pxi":550
* cdef int result
* if config.ENABLE_THREADING and self._lock is not NULL:
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":540
+ /* "src/lxml/parser.pxi":551
* if config.ENABLE_THREADING and self._lock is not NULL:
* with nogil:
* result = python.PyThread_acquire_lock( # <<<<<<<<<<<<<<
__pyx_v_result = PyThread_acquire_lock(__pyx_v_self->_lock, WAIT_LOCK);
}
- /* "src/lxml/parser.pxi":539
+ /* "src/lxml/parser.pxi":550
* cdef int result
* if config.ENABLE_THREADING and self._lock is not NULL:
* with nogil: # <<<<<<<<<<<<<<
}
}
- /* "src/lxml/parser.pxi":542
+ /* "src/lxml/parser.pxi":553
* result = python.PyThread_acquire_lock(
* self._lock, python.WAIT_LOCK)
* if result == 0: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result == 0) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":543
+ /* "src/lxml/parser.pxi":554
* self._lock, python.WAIT_LOCK)
* if result == 0:
* raise ParserError, u"parser locking failed" # <<<<<<<<<<<<<<
* self._error_log.clear()
* self._doc = None
*/
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ParserError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ParserError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_Raise(__pyx_t_3, __pyx_kp_u_parser_locking_failed, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":542
+ /* "src/lxml/parser.pxi":553
* result = python.PyThread_acquire_lock(
* self._lock, python.WAIT_LOCK)
* if result == 0: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":538
+ /* "src/lxml/parser.pxi":549
* cdef int prepare(self) except -1:
* cdef int result
* if config.ENABLE_THREADING and self._lock is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":544
+ /* "src/lxml/parser.pxi":555
* if result == 0:
* raise ParserError, u"parser locking failed"
* self._error_log.clear() # <<<<<<<<<<<<<<
* self._doc = None
* self._c_ctxt.sax.serror = _receiveParserError
*/
- __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree__ErrorLog *)__pyx_v_self->_error_log->__pyx_base.__pyx_base.__pyx_vtab)->clear(__pyx_v_self->_error_log, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree__ErrorLog *)__pyx_v_self->_error_log->__pyx_base.__pyx_base.__pyx_vtab)->clear(__pyx_v_self->_error_log, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":545
+ /* "src/lxml/parser.pxi":556
* raise ParserError, u"parser locking failed"
* self._error_log.clear()
* self._doc = None # <<<<<<<<<<<<<<
__Pyx_DECREF(((PyObject *)__pyx_v_self->_doc));
__pyx_v_self->_doc = ((struct LxmlDocument *)Py_None);
- /* "src/lxml/parser.pxi":546
+ /* "src/lxml/parser.pxi":557
* self._error_log.clear()
* self._doc = None
* self._c_ctxt.sax.serror = _receiveParserError # <<<<<<<<<<<<<<
*/
__pyx_v_self->_c_ctxt->sax->serror = __pyx_f_4lxml_5etree__receiveParserError;
- /* "src/lxml/parser.pxi":547
+ /* "src/lxml/parser.pxi":558
* self._doc = None
* self._c_ctxt.sax.serror = _receiveParserError
* if self._validator is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":548
+ /* "src/lxml/parser.pxi":559
* self._c_ctxt.sax.serror = _receiveParserError
* if self._validator is not None:
* self._validator.connect(self._c_ctxt, self._error_log) # <<<<<<<<<<<<<<
*/
__pyx_t_3 = ((PyObject *)__pyx_v_self->_error_log);
__Pyx_INCREF(__pyx_t_3);
- __pyx_t_4 = __pyx_f_4lxml_5etree_30_ParserSchemaValidationContext_connect(__pyx_v_self->_validator, __pyx_v_self->_c_ctxt, ((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_3)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_4lxml_5etree_30_ParserSchemaValidationContext_connect(__pyx_v_self->_validator, __pyx_v_self->_c_ctxt, ((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_3)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":547
+ /* "src/lxml/parser.pxi":558
* self._doc = None
* self._c_ctxt.sax.serror = _receiveParserError
* if self._validator is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":549
+ /* "src/lxml/parser.pxi":560
* if self._validator is not None:
* self._validator.connect(self._c_ctxt, self._error_log)
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":536
+ /* "src/lxml/parser.pxi":547
* xmlparser.xmlClearParserCtxt(self._c_ctxt)
*
* cdef int prepare(self) except -1: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":551
+/* "src/lxml/parser.pxi":562
* return 0
*
* cdef int cleanup(self) except -1: # <<<<<<<<<<<<<<
int __pyx_t_2;
__Pyx_RefNannySetupContext("cleanup", 0);
- /* "src/lxml/parser.pxi":552
+ /* "src/lxml/parser.pxi":563
*
* cdef int cleanup(self) except -1:
* if self._validator is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":553
+ /* "src/lxml/parser.pxi":564
* cdef int cleanup(self) except -1:
* if self._validator is not None:
* self._validator.disconnect() # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_30_ParserSchemaValidationContext_disconnect(__pyx_v_self->_validator);
- /* "src/lxml/parser.pxi":552
+ /* "src/lxml/parser.pxi":563
*
* cdef int cleanup(self) except -1:
* if self._validator is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":554
+ /* "src/lxml/parser.pxi":565
* if self._validator is not None:
* self._validator.disconnect()
* self._resetParserContext() # <<<<<<<<<<<<<<
*/
((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->_resetParserContext(__pyx_v_self);
- /* "src/lxml/parser.pxi":555
+ /* "src/lxml/parser.pxi":566
* self._validator.disconnect()
* self._resetParserContext()
* self.clear() # <<<<<<<<<<<<<<
*/
((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.clear(((struct __pyx_obj_4lxml_5etree__ExceptionContext *)__pyx_v_self));
- /* "src/lxml/parser.pxi":556
+ /* "src/lxml/parser.pxi":567
* self._resetParserContext()
* self.clear()
* self._doc = None # <<<<<<<<<<<<<<
__Pyx_DECREF(((PyObject *)__pyx_v_self->_doc));
__pyx_v_self->_doc = ((struct LxmlDocument *)Py_None);
- /* "src/lxml/parser.pxi":557
+ /* "src/lxml/parser.pxi":568
* self.clear()
* self._doc = None
* self._c_ctxt.sax.serror = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_self->_c_ctxt->sax->serror = NULL;
- /* "src/lxml/parser.pxi":558
+ /* "src/lxml/parser.pxi":569
* self._doc = None
* self._c_ctxt.sax.serror = NULL
* if config.ENABLE_THREADING and self._lock is not NULL: # <<<<<<<<<<<<<<
__pyx_L5_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":559
+ /* "src/lxml/parser.pxi":570
* self._c_ctxt.sax.serror = NULL
* if config.ENABLE_THREADING and self._lock is not NULL:
* python.PyThread_release_lock(self._lock) # <<<<<<<<<<<<<<
*/
PyThread_release_lock(__pyx_v_self->_lock);
- /* "src/lxml/parser.pxi":558
+ /* "src/lxml/parser.pxi":569
* self._doc = None
* self._c_ctxt.sax.serror = NULL
* if config.ENABLE_THREADING and self._lock is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":560
+ /* "src/lxml/parser.pxi":571
* if config.ENABLE_THREADING and self._lock is not NULL:
* python.PyThread_release_lock(self._lock)
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":551
+ /* "src/lxml/parser.pxi":562
* return 0
*
* cdef int cleanup(self) except -1: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":562
+/* "src/lxml/parser.pxi":573
* return 0
*
* cdef object _handleParseResult(self, _BaseParser parser, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_handleParseResult", 0);
- /* "src/lxml/parser.pxi":564
+ /* "src/lxml/parser.pxi":575
* cdef object _handleParseResult(self, _BaseParser parser,
* xmlDoc* result, filename):
* c_doc = self._handleParseResultDoc(parser, result, filename) # <<<<<<<<<<<<<<
* if self._doc is not None and self._doc._c_doc is c_doc:
* return self._doc
*/
- __pyx_t_1 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_self, __pyx_v_parser, __pyx_v_result, __pyx_v_filename); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_self, __pyx_v_parser, __pyx_v_result, __pyx_v_filename); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_c_doc = __pyx_t_1;
- /* "src/lxml/parser.pxi":565
+ /* "src/lxml/parser.pxi":576
* xmlDoc* result, filename):
* c_doc = self._handleParseResultDoc(parser, result, filename)
* if self._doc is not None and self._doc._c_doc is c_doc: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":566
+ /* "src/lxml/parser.pxi":577
* c_doc = self._handleParseResultDoc(parser, result, filename)
* if self._doc is not None and self._doc._c_doc is c_doc:
* return self._doc # <<<<<<<<<<<<<<
__pyx_r = ((PyObject *)__pyx_v_self->_doc);
goto __pyx_L0;
- /* "src/lxml/parser.pxi":565
+ /* "src/lxml/parser.pxi":576
* xmlDoc* result, filename):
* c_doc = self._handleParseResultDoc(parser, result, filename)
* if self._doc is not None and self._doc._c_doc is c_doc: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":568
+ /* "src/lxml/parser.pxi":579
* return self._doc
* else:
* return _documentFactory(c_doc, parser) # <<<<<<<<<<<<<<
*/
/*else*/ {
__Pyx_XDECREF(__pyx_r);
- __pyx_t_5 = ((PyObject *)__pyx_f_4lxml_5etree__documentFactory(__pyx_v_c_doc, __pyx_v_parser)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = ((PyObject *)__pyx_f_4lxml_5etree__documentFactory(__pyx_v_c_doc, __pyx_v_parser)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
goto __pyx_L0;
}
- /* "src/lxml/parser.pxi":562
+ /* "src/lxml/parser.pxi":573
* return 0
*
* cdef object _handleParseResult(self, _BaseParser parser, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":570
+/* "src/lxml/parser.pxi":581
* return _documentFactory(c_doc, parser)
*
* cdef xmlDoc* _handleParseResultDoc(self, _BaseParser parser, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_handleParseResultDoc", 0);
- /* "src/lxml/parser.pxi":572
+ /* "src/lxml/parser.pxi":583
* cdef xmlDoc* _handleParseResultDoc(self, _BaseParser parser,
* xmlDoc* result, filename) except NULL:
* recover = parser._parse_options & xmlparser.XML_PARSE_RECOVER # <<<<<<<<<<<<<<
*/
__pyx_v_recover = (__pyx_v_parser->_parse_options & XML_PARSE_RECOVER);
- /* "src/lxml/parser.pxi":575
+ /* "src/lxml/parser.pxi":586
* return _handleParseResult(self, self._c_ctxt, result,
* filename, recover,
* free_doc=self._doc is None) # <<<<<<<<<<<<<<
*/
__pyx_t_1 = (((PyObject *)__pyx_v_self->_doc) == Py_None);
- /* "src/lxml/parser.pxi":573
+ /* "src/lxml/parser.pxi":584
* xmlDoc* result, filename) except NULL:
* recover = parser._parse_options & xmlparser.XML_PARSE_RECOVER
* return _handleParseResult(self, self._c_ctxt, result, # <<<<<<<<<<<<<<
* filename, recover,
* free_doc=self._doc is None)
*/
- __pyx_t_2 = __pyx_f_4lxml_5etree__handleParseResult(__pyx_v_self, __pyx_v_self->_c_ctxt, __pyx_v_result, __pyx_v_filename, __pyx_v_recover, __pyx_t_1); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_5etree__handleParseResult(__pyx_v_self, __pyx_v_self->_c_ctxt, __pyx_v_result, __pyx_v_filename, __pyx_v_recover, __pyx_t_1); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_2;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":570
+ /* "src/lxml/parser.pxi":581
* return _documentFactory(c_doc, parser)
*
* cdef xmlDoc* _handleParseResultDoc(self, _BaseParser parser, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":577
+/* "src/lxml/parser.pxi":588
* free_doc=self._doc is None)
*
* cdef _initParserContext(_ParserContext context, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_initParserContext", 0);
- /* "src/lxml/parser.pxi":580
+ /* "src/lxml/parser.pxi":591
* _ResolverRegistry resolvers,
* xmlparser.xmlParserCtxt* c_ctxt):
* _initResolverContext(context, resolvers) # <<<<<<<<<<<<<<
* if c_ctxt is not NULL:
* context._initParserContext(c_ctxt)
*/
- __pyx_t_1 = __pyx_f_4lxml_5etree__initResolverContext(((struct __pyx_obj_4lxml_5etree__ResolverContext *)__pyx_v_context), __pyx_v_resolvers); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree__initResolverContext(((struct __pyx_obj_4lxml_5etree__ResolverContext *)__pyx_v_context), __pyx_v_resolvers); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":581
+ /* "src/lxml/parser.pxi":592
* xmlparser.xmlParserCtxt* c_ctxt):
* _initResolverContext(context, resolvers)
* if c_ctxt is not NULL: # <<<<<<<<<<<<<<
__pyx_t_2 = ((__pyx_v_c_ctxt != NULL) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":582
+ /* "src/lxml/parser.pxi":593
* _initResolverContext(context, resolvers)
* if c_ctxt is not NULL:
* context._initParserContext(c_ctxt) # <<<<<<<<<<<<<<
*/
((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_initParserContext(__pyx_v_context, __pyx_v_c_ctxt);
- /* "src/lxml/parser.pxi":581
+ /* "src/lxml/parser.pxi":592
* xmlparser.xmlParserCtxt* c_ctxt):
* _initResolverContext(context, resolvers)
* if c_ctxt is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":577
+ /* "src/lxml/parser.pxi":588
* free_doc=self._doc is None)
*
* cdef _initParserContext(_ParserContext context, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":584
+/* "src/lxml/parser.pxi":595
* context._initParserContext(c_ctxt)
*
* cdef void _forwardParserError(xmlparser.xmlParserCtxt* _parser_context, xmlerror.xmlError* error) with gil: # <<<<<<<<<<<<<<
#endif
__Pyx_RefNannySetupContext("_forwardParserError", 0);
- /* "src/lxml/parser.pxi":585
+ /* "src/lxml/parser.pxi":596
*
* cdef void _forwardParserError(xmlparser.xmlParserCtxt* _parser_context, xmlerror.xmlError* error) with gil:
* (<_ParserContext>_parser_context._private)._error_log._receive(error) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_13_BaseErrorLog__receive(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_v__parser_context->_private)->_error_log), __pyx_v_error);
- /* "src/lxml/parser.pxi":584
+ /* "src/lxml/parser.pxi":595
* context._initParserContext(c_ctxt)
*
* cdef void _forwardParserError(xmlparser.xmlParserCtxt* _parser_context, xmlerror.xmlError* error) with gil: # <<<<<<<<<<<<<<
#endif
}
-/* "src/lxml/parser.pxi":587
+/* "src/lxml/parser.pxi":598
* (<_ParserContext>_parser_context._private)._error_log._receive(error)
*
* cdef void _receiveParserError(void* c_context, xmlerror.xmlError* error) nogil: # <<<<<<<<<<<<<<
int __pyx_t_1;
int __pyx_t_2;
- /* "src/lxml/parser.pxi":589
+ /* "src/lxml/parser.pxi":600
* cdef void _receiveParserError(void* c_context, xmlerror.xmlError* error) nogil:
* if __DEBUG:
* if c_context is NULL or (<xmlparser.xmlParserCtxt*>c_context)._private is NULL: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":590
+ /* "src/lxml/parser.pxi":601
* if __DEBUG:
* if c_context is NULL or (<xmlparser.xmlParserCtxt*>c_context)._private is NULL:
* _forwardError(NULL, error) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree__forwardError(NULL, __pyx_v_error);
- /* "src/lxml/parser.pxi":589
+ /* "src/lxml/parser.pxi":600
* cdef void _receiveParserError(void* c_context, xmlerror.xmlError* error) nogil:
* if __DEBUG:
* if c_context is NULL or (<xmlparser.xmlParserCtxt*>c_context)._private is NULL: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":592
+ /* "src/lxml/parser.pxi":603
* _forwardError(NULL, error)
* else:
* _forwardParserError(<xmlparser.xmlParserCtxt*>c_context, error) # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":587
+ /* "src/lxml/parser.pxi":598
* (<_ParserContext>_parser_context._private)._error_log._receive(error)
*
* cdef void _receiveParserError(void* c_context, xmlerror.xmlError* error) nogil: # <<<<<<<<<<<<<<
/* function exit code */
}
-/* "src/lxml/parser.pxi":594
+/* "src/lxml/parser.pxi":605
* _forwardParserError(<xmlparser.xmlParserCtxt*>c_context, error)
*
* cdef int _raiseParseError(xmlparser.xmlParserCtxt* ctxt, filename, # <<<<<<<<<<<<<<
__Pyx_RefNannySetupContext("_raiseParseError", 0);
__Pyx_INCREF(__pyx_v_filename);
- /* "src/lxml/parser.pxi":596
+ /* "src/lxml/parser.pxi":607
* cdef int _raiseParseError(xmlparser.xmlParserCtxt* ctxt, filename,
* _ErrorLog error_log) except 0:
* if filename is not None and \ # <<<<<<<<<<<<<<
goto __pyx_L4_bool_binop_done;
}
- /* "src/lxml/parser.pxi":597
+ /* "src/lxml/parser.pxi":608
* _ErrorLog error_log) except 0:
* if filename is not None and \
* ctxt.lastError.domain == xmlerror.XML_FROM_IO: # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_t_3;
__pyx_L4_bool_binop_done:;
- /* "src/lxml/parser.pxi":596
+ /* "src/lxml/parser.pxi":607
* cdef int _raiseParseError(xmlparser.xmlParserCtxt* ctxt, filename,
* _ErrorLog error_log) except 0:
* if filename is not None and \ # <<<<<<<<<<<<<<
*/
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":598
+ /* "src/lxml/parser.pxi":609
* if filename is not None and \
* ctxt.lastError.domain == xmlerror.XML_FROM_IO:
* if isinstance(filename, bytes): # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_1 != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":600
+ /* "src/lxml/parser.pxi":611
* if isinstance(filename, bytes):
* filename = _decodeFilenameWithLength(
* <bytes>filename, len(<bytes>filename)) # <<<<<<<<<<<<<<
* if ctxt.lastError.message is not NULL:
* try:
*/
- __pyx_t_4 = __Pyx_PyObject_AsUString(__pyx_v_filename); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_AsUString(__pyx_v_filename); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (unlikely(__pyx_v_filename == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_5 = PyBytes_GET_SIZE(((PyObject*)__pyx_v_filename)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyBytes_GET_SIZE(((PyObject*)__pyx_v_filename)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":599
+ /* "src/lxml/parser.pxi":610
* ctxt.lastError.domain == xmlerror.XML_FROM_IO:
* if isinstance(filename, bytes):
* filename = _decodeFilenameWithLength( # <<<<<<<<<<<<<<
* <bytes>filename, len(<bytes>filename))
* if ctxt.lastError.message is not NULL:
*/
- __pyx_t_6 = __pyx_f_4lxml_5etree__decodeFilenameWithLength(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __pyx_f_4lxml_5etree__decodeFilenameWithLength(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_6);
__pyx_t_6 = 0;
- /* "src/lxml/parser.pxi":598
+ /* "src/lxml/parser.pxi":609
* if filename is not None and \
* ctxt.lastError.domain == xmlerror.XML_FROM_IO:
* if isinstance(filename, bytes): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":601
+ /* "src/lxml/parser.pxi":612
* filename = _decodeFilenameWithLength(
* <bytes>filename, len(<bytes>filename))
* if ctxt.lastError.message is not NULL: # <<<<<<<<<<<<<<
__pyx_t_3 = ((__pyx_v_ctxt->lastError.message != NULL) != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":602
+ /* "src/lxml/parser.pxi":613
* <bytes>filename, len(<bytes>filename))
* if ctxt.lastError.message is not NULL:
* try: # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_9);
/*try:*/ {
- /* "src/lxml/parser.pxi":603
+ /* "src/lxml/parser.pxi":614
* if ctxt.lastError.message is not NULL:
* try:
* message = (ctxt.lastError.message).decode('utf-8') # <<<<<<<<<<<<<<
* # the filename may be in there => play it safe
*/
__pyx_t_10 = __pyx_v_ctxt->lastError.message;
- __pyx_t_6 = __Pyx_decode_c_string(__pyx_t_10, 0, strlen(__pyx_t_10), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
+ __pyx_t_6 = __Pyx_decode_c_string(__pyx_t_10, 0, strlen(__pyx_t_10), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_6);
__pyx_v_message = __pyx_t_6;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "src/lxml/parser.pxi":602
+ /* "src/lxml/parser.pxi":613
* <bytes>filename, len(<bytes>filename))
* if ctxt.lastError.message is not NULL:
* try: # <<<<<<<<<<<<<<
__pyx_L8_error:;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "src/lxml/parser.pxi":604
+ /* "src/lxml/parser.pxi":615
* try:
* message = (ctxt.lastError.message).decode('utf-8')
* except UnicodeDecodeError: # <<<<<<<<<<<<<<
__pyx_t_11 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
if (__pyx_t_11) {
__Pyx_AddTraceback("lxml.etree._raiseParseError", __pyx_clineno, __pyx_lineno, __pyx_filename);
- if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_12, &__pyx_t_13) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;}
+ if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_12, &__pyx_t_13) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_12);
__Pyx_GOTREF(__pyx_t_13);
- /* "src/lxml/parser.pxi":606
+ /* "src/lxml/parser.pxi":617
* except UnicodeDecodeError:
* # the filename may be in there => play it safe
* message = (ctxt.lastError.message).decode('iso8859-1') # <<<<<<<<<<<<<<
* filename, message.strip())
*/
__pyx_t_10 = __pyx_v_ctxt->lastError.message;
- __pyx_t_14 = __Pyx_decode_c_string(__pyx_t_10, 0, strlen(__pyx_t_10), NULL, NULL, PyUnicode_DecodeLatin1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;}
+ __pyx_t_14 = __Pyx_decode_c_string(__pyx_t_10, 0, strlen(__pyx_t_10), NULL, NULL, PyUnicode_DecodeLatin1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;}
__Pyx_GOTREF(__pyx_t_14);
__Pyx_INCREF(__pyx_t_14);
__Pyx_XDECREF_SET(__pyx_v_message, __pyx_t_14);
goto __pyx_L10_except_error;
__pyx_L10_except_error:;
- /* "src/lxml/parser.pxi":602
+ /* "src/lxml/parser.pxi":613
* <bytes>filename, len(<bytes>filename))
* if ctxt.lastError.message is not NULL:
* try: # <<<<<<<<<<<<<<
__pyx_L15_try_end:;
}
- /* "src/lxml/parser.pxi":608
+ /* "src/lxml/parser.pxi":619
* message = (ctxt.lastError.message).decode('iso8859-1')
* message = u"Error reading file '%s': %s" % (
* filename, message.strip()) # <<<<<<<<<<<<<<
* else:
* message = u"Error reading '%s'" % filename
*/
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_message, __pyx_n_s_strip); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_message, __pyx_n_s_strip); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_6 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_12))) {
}
}
if (__pyx_t_6) {
- __pyx_t_13 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_13 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
- __pyx_t_13 = __Pyx_PyObject_CallNoArg(__pyx_t_12); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_13 = __Pyx_PyObject_CallNoArg(__pyx_t_12); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_INCREF(__pyx_v_filename);
__Pyx_GIVEREF(__pyx_v_filename);
PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_13);
__pyx_t_13 = 0;
- /* "src/lxml/parser.pxi":607
+ /* "src/lxml/parser.pxi":618
* # the filename may be in there => play it safe
* message = (ctxt.lastError.message).decode('iso8859-1')
* message = u"Error reading file '%s': %s" % ( # <<<<<<<<<<<<<<
* filename, message.strip())
* else:
*/
- __pyx_t_13 = PyUnicode_Format(__pyx_kp_u_Error_reading_file_s_s, __pyx_t_12); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_13 = PyUnicode_Format(__pyx_kp_u_Error_reading_file_s_s, __pyx_t_12); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF_SET(__pyx_v_message, __pyx_t_13);
__pyx_t_13 = 0;
- /* "src/lxml/parser.pxi":601
+ /* "src/lxml/parser.pxi":612
* filename = _decodeFilenameWithLength(
* <bytes>filename, len(<bytes>filename))
* if ctxt.lastError.message is not NULL: # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/parser.pxi":610
+ /* "src/lxml/parser.pxi":621
* filename, message.strip())
* else:
* message = u"Error reading '%s'" % filename # <<<<<<<<<<<<<<
* elif error_log:
*/
/*else*/ {
- __pyx_t_13 = PyUnicode_Format(__pyx_kp_u_Error_reading_s, __pyx_v_filename); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_13 = PyUnicode_Format(__pyx_kp_u_Error_reading_s, __pyx_v_filename); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_13);
__pyx_v_message = __pyx_t_13;
__pyx_t_13 = 0;
}
__pyx_L7:;
- /* "src/lxml/parser.pxi":611
+ /* "src/lxml/parser.pxi":622
* else:
* message = u"Error reading '%s'" % filename
* raise IOError, message # <<<<<<<<<<<<<<
* raise error_log._buildParseException(
*/
__Pyx_Raise(__pyx_builtin_IOError, __pyx_v_message, 0, 0);
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":596
+ /* "src/lxml/parser.pxi":607
* cdef int _raiseParseError(xmlparser.xmlParserCtxt* ctxt, filename,
* _ErrorLog error_log) except 0:
* if filename is not None and \ # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":612
+ /* "src/lxml/parser.pxi":623
* message = u"Error reading '%s'" % filename
* raise IOError, message
* elif error_log: # <<<<<<<<<<<<<<
* raise error_log._buildParseException(
* XMLSyntaxError, u"Document is not well formed")
*/
- __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_error_log)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_error_log)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":614
+ /* "src/lxml/parser.pxi":625
* elif error_log:
* raise error_log._buildParseException(
* XMLSyntaxError, u"Document is not well formed") # <<<<<<<<<<<<<<
* elif ctxt.lastError.message is not NULL:
* message = (ctxt.lastError.message).strip()
*/
- __pyx_t_13 = __Pyx_GetModuleGlobalName(__pyx_n_s_XMLSyntaxError); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_13 = __Pyx_GetModuleGlobalName(__pyx_n_s_XMLSyntaxError); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 625; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_13);
- /* "src/lxml/parser.pxi":613
+ /* "src/lxml/parser.pxi":624
* raise IOError, message
* elif error_log:
* raise error_log._buildParseException( # <<<<<<<<<<<<<<
* XMLSyntaxError, u"Document is not well formed")
* elif ctxt.lastError.message is not NULL:
*/
- __pyx_t_12 = __pyx_f_4lxml_5etree_13_BaseErrorLog__buildParseException(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_v_error_log), __pyx_t_13, __pyx_kp_u_Document_is_not_well_formed); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __pyx_f_4lxml_5etree_13_BaseErrorLog__buildParseException(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_v_error_log), __pyx_t_13, __pyx_kp_u_Document_is_not_well_formed); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_Raise(__pyx_t_12, 0, 0, 0);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":612
+ /* "src/lxml/parser.pxi":623
* message = u"Error reading '%s'" % filename
* raise IOError, message
* elif error_log: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":615
+ /* "src/lxml/parser.pxi":626
* raise error_log._buildParseException(
* XMLSyntaxError, u"Document is not well formed")
* elif ctxt.lastError.message is not NULL: # <<<<<<<<<<<<<<
__pyx_t_3 = ((__pyx_v_ctxt->lastError.message != NULL) != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":616
+ /* "src/lxml/parser.pxi":627
* XMLSyntaxError, u"Document is not well formed")
* elif ctxt.lastError.message is not NULL:
* message = (ctxt.lastError.message).strip() # <<<<<<<<<<<<<<
* code = ctxt.lastError.code
* line = ctxt.lastError.line
*/
- __pyx_t_13 = __Pyx_PyBytes_FromString(__pyx_v_ctxt->lastError.message); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_13 = __Pyx_PyBytes_FromString(__pyx_v_ctxt->lastError.message); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_13);
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__pyx_t_13 = NULL;
}
}
if (__pyx_t_13) {
- __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_13); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_13); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
} else {
- __pyx_t_12 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_message = __pyx_t_12;
__pyx_t_12 = 0;
- /* "src/lxml/parser.pxi":617
+ /* "src/lxml/parser.pxi":628
* elif ctxt.lastError.message is not NULL:
* message = (ctxt.lastError.message).strip()
* code = ctxt.lastError.code # <<<<<<<<<<<<<<
__pyx_t_11 = __pyx_v_ctxt->lastError.code;
__pyx_v_code = __pyx_t_11;
- /* "src/lxml/parser.pxi":618
+ /* "src/lxml/parser.pxi":629
* message = (ctxt.lastError.message).strip()
* code = ctxt.lastError.code
* line = ctxt.lastError.line # <<<<<<<<<<<<<<
__pyx_t_11 = __pyx_v_ctxt->lastError.line;
__pyx_v_line = __pyx_t_11;
- /* "src/lxml/parser.pxi":619
+ /* "src/lxml/parser.pxi":630
* code = ctxt.lastError.code
* line = ctxt.lastError.line
* column = ctxt.lastError.int2 # <<<<<<<<<<<<<<
__pyx_t_11 = __pyx_v_ctxt->lastError.int2;
__pyx_v_column = __pyx_t_11;
- /* "src/lxml/parser.pxi":620
+ /* "src/lxml/parser.pxi":631
* line = ctxt.lastError.line
* column = ctxt.lastError.int2
* if ctxt.lastError.line > 0: # <<<<<<<<<<<<<<
__pyx_t_3 = ((__pyx_v_ctxt->lastError.line > 0) != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":621
+ /* "src/lxml/parser.pxi":632
* column = ctxt.lastError.int2
* if ctxt.lastError.line > 0:
* message = u"line %d: %s" % (line, message) # <<<<<<<<<<<<<<
* raise XMLSyntaxError(message, code, line, column)
* else:
*/
- __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
- __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_12);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_12);
__Pyx_GIVEREF(__pyx_v_message);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_message);
__pyx_t_12 = 0;
- __pyx_t_12 = PyUnicode_Format(__pyx_kp_u_line_d_s, __pyx_t_6); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = PyUnicode_Format(__pyx_kp_u_line_d_s, __pyx_t_6); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF_SET(__pyx_v_message, __pyx_t_12);
__pyx_t_12 = 0;
- /* "src/lxml/parser.pxi":620
+ /* "src/lxml/parser.pxi":631
* line = ctxt.lastError.line
* column = ctxt.lastError.int2
* if ctxt.lastError.line > 0: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":622
+ /* "src/lxml/parser.pxi":633
* if ctxt.lastError.line > 0:
* message = u"line %d: %s" % (line, message)
* raise XMLSyntaxError(message, code, line, column) # <<<<<<<<<<<<<<
* else:
* raise XMLSyntaxError(None, xmlerror.XML_ERR_INTERNAL_ERROR, 0, 0)
*/
- __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_XMLSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_XMLSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_code); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_code); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_13);
- __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_14);
- __pyx_t_15 = __Pyx_PyInt_From_int(__pyx_v_column); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_15 = __Pyx_PyInt_From_int(__pyx_v_column); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_16 = NULL;
__pyx_t_5 = 0;
__pyx_t_5 = 1;
}
}
- __pyx_t_17 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_17 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_17);
if (__pyx_t_16) {
__Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_16); __pyx_t_16 = NULL;
__pyx_t_13 = 0;
__pyx_t_14 = 0;
__pyx_t_15 = 0;
- __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_17, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_17, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_12, 0, 0, 0);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":615
+ /* "src/lxml/parser.pxi":626
* raise error_log._buildParseException(
* XMLSyntaxError, u"Document is not well formed")
* elif ctxt.lastError.message is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":624
+ /* "src/lxml/parser.pxi":635
* raise XMLSyntaxError(message, code, line, column)
* else:
* raise XMLSyntaxError(None, xmlerror.XML_ERR_INTERNAL_ERROR, 0, 0) # <<<<<<<<<<<<<<
* cdef xmlDoc* _handleParseResult(_ParserContext context,
*/
/*else*/ {
- __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_XMLSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_XMLSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_17 = __Pyx_PyInt_From_xmlParserErrors(XML_ERR_INTERNAL_ERROR); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_17 = __Pyx_PyInt_From_xmlParserErrors(XML_ERR_INTERNAL_ERROR); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_15 = NULL;
__pyx_t_5 = 0;
__pyx_t_5 = 1;
}
}
- __pyx_t_14 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_14 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_14);
if (__pyx_t_15) {
__Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_15); __pyx_t_15 = NULL;
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_5, __pyx_int_0);
__pyx_t_17 = 0;
- __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_14, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_14, NULL); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_12, 0, 0, 0);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- /* "src/lxml/parser.pxi":594
+ /* "src/lxml/parser.pxi":605
* _forwardParserError(<xmlparser.xmlParserCtxt*>c_context, error)
*
* cdef int _raiseParseError(xmlparser.xmlParserCtxt* ctxt, filename, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":626
+/* "src/lxml/parser.pxi":637
* raise XMLSyntaxError(None, xmlerror.XML_ERR_INTERNAL_ERROR, 0, 0)
*
* cdef xmlDoc* _handleParseResult(_ParserContext context, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_handleParseResult", 0);
- /* "src/lxml/parser.pxi":631
+ /* "src/lxml/parser.pxi":642
* bint recover, bint free_doc) except NULL:
* cdef bint well_formed
* if result is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":632
+ /* "src/lxml/parser.pxi":643
* cdef bint well_formed
* if result is not NULL:
* __GLOBAL_PARSER_CONTEXT.initDocDict(result) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initDocDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_result);
- /* "src/lxml/parser.pxi":631
+ /* "src/lxml/parser.pxi":642
* bint recover, bint free_doc) except NULL:
* cdef bint well_formed
* if result is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":634
+ /* "src/lxml/parser.pxi":645
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
*
* if c_ctxt.myDoc is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_ctxt->myDoc != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":635
+ /* "src/lxml/parser.pxi":646
*
* if c_ctxt.myDoc is not NULL:
* if c_ctxt.myDoc is not result: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_ctxt->myDoc != __pyx_v_result) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":636
+ /* "src/lxml/parser.pxi":647
* if c_ctxt.myDoc is not NULL:
* if c_ctxt.myDoc is not result:
* __GLOBAL_PARSER_CONTEXT.initDocDict(c_ctxt.myDoc) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initDocDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_c_ctxt->myDoc);
- /* "src/lxml/parser.pxi":637
+ /* "src/lxml/parser.pxi":648
* if c_ctxt.myDoc is not result:
* __GLOBAL_PARSER_CONTEXT.initDocDict(c_ctxt.myDoc)
* tree.xmlFreeDoc(c_ctxt.myDoc) # <<<<<<<<<<<<<<
*/
xmlFreeDoc(__pyx_v_c_ctxt->myDoc);
- /* "src/lxml/parser.pxi":635
+ /* "src/lxml/parser.pxi":646
*
* if c_ctxt.myDoc is not NULL:
* if c_ctxt.myDoc is not result: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":638
+ /* "src/lxml/parser.pxi":649
* __GLOBAL_PARSER_CONTEXT.initDocDict(c_ctxt.myDoc)
* tree.xmlFreeDoc(c_ctxt.myDoc)
* c_ctxt.myDoc = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt->myDoc = NULL;
- /* "src/lxml/parser.pxi":634
+ /* "src/lxml/parser.pxi":645
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
*
* if c_ctxt.myDoc is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":640
+ /* "src/lxml/parser.pxi":651
* c_ctxt.myDoc = NULL
*
* if result is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":641
+ /* "src/lxml/parser.pxi":652
*
* if result is not NULL:
* if (context._validator is not None and # <<<<<<<<<<<<<<
goto __pyx_L8_bool_binop_done;
}
- /* "src/lxml/parser.pxi":642
+ /* "src/lxml/parser.pxi":653
* if result is not NULL:
* if (context._validator is not None and
* not context._validator.isvalid()): # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_t_3;
__pyx_L8_bool_binop_done:;
- /* "src/lxml/parser.pxi":641
+ /* "src/lxml/parser.pxi":652
*
* if result is not NULL:
* if (context._validator is not None and # <<<<<<<<<<<<<<
*/
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":643
+ /* "src/lxml/parser.pxi":654
* if (context._validator is not None and
* not context._validator.isvalid()):
* well_formed = 0 # actually not 'valid', but anyway ... # <<<<<<<<<<<<<<
*/
__pyx_v_well_formed = 0;
- /* "src/lxml/parser.pxi":641
+ /* "src/lxml/parser.pxi":652
*
* if result is not NULL:
* if (context._validator is not None and # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/parser.pxi":644
+ /* "src/lxml/parser.pxi":655
* not context._validator.isvalid()):
* well_formed = 0 # actually not 'valid', but anyway ...
* elif (not c_ctxt.wellFormed and not c_ctxt.html and # <<<<<<<<<<<<<<
goto __pyx_L10_bool_binop_done;
}
- /* "src/lxml/parser.pxi":645
+ /* "src/lxml/parser.pxi":656
* well_formed = 0 # actually not 'valid', but anyway ...
* elif (not c_ctxt.wellFormed and not c_ctxt.html and
* c_ctxt.charset == tree.XML_CHAR_ENCODING_8859_1 and # <<<<<<<<<<<<<<
goto __pyx_L10_bool_binop_done;
}
- /* "src/lxml/parser.pxi":646
+ /* "src/lxml/parser.pxi":657
* elif (not c_ctxt.wellFormed and not c_ctxt.html and
* c_ctxt.charset == tree.XML_CHAR_ENCODING_8859_1 and
* [1 for error in context._error_log # <<<<<<<<<<<<<<
* if error.type == ErrorTypes.ERR_INVALID_CHAR]):
* # An encoding error occurred and libxml2 switched from UTF-8
*/
- __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
if (likely(PyList_CheckExact(((PyObject *)__pyx_v_context->_error_log))) || PyTuple_CheckExact(((PyObject *)__pyx_v_context->_error_log))) {
__pyx_t_5 = ((PyObject *)__pyx_v_context->_error_log); __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
- __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(((PyObject *)__pyx_v_context->_error_log)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(((PyObject *)__pyx_v_context->_error_log)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
for (;;) {
if (likely(!__pyx_t_7)) {
if (likely(PyList_CheckExact(__pyx_t_5))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_8 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
__Pyx_XDECREF_SET(__pyx_v_error, __pyx_t_8);
__pyx_t_8 = 0;
- /* "src/lxml/parser.pxi":647
+ /* "src/lxml/parser.pxi":658
* c_ctxt.charset == tree.XML_CHAR_ENCODING_8859_1 and
* [1 for error in context._error_log
* if error.type == ErrorTypes.ERR_INVALID_CHAR]): # <<<<<<<<<<<<<<
* # An encoding error occurred and libxml2 switched from UTF-8
* # input to (undecoded) Latin-1, at some arbitrary point in the
*/
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_type); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_type); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ERR_INVALID_CHAR); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ERR_INVALID_CHAR); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyObject_RichCompare(__pyx_t_8, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = PyObject_RichCompare(__pyx_t_8, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__pyx_t_3) {
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_int_1))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_int_1))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- /* "src/lxml/parser.pxi":646
+ /* "src/lxml/parser.pxi":657
* elif (not c_ctxt.wellFormed and not c_ctxt.html and
* c_ctxt.charset == tree.XML_CHAR_ENCODING_8859_1 and
* [1 for error in context._error_log # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_t_3;
__pyx_L10_bool_binop_done:;
- /* "src/lxml/parser.pxi":644
+ /* "src/lxml/parser.pxi":655
* not context._validator.isvalid()):
* well_formed = 0 # actually not 'valid', but anyway ...
* elif (not c_ctxt.wellFormed and not c_ctxt.html and # <<<<<<<<<<<<<<
*/
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":652
+ /* "src/lxml/parser.pxi":663
* # document. Better raise an error than allowing for a broken
* # tree with mixed encodings.
* well_formed = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_well_formed = 0;
- /* "src/lxml/parser.pxi":644
+ /* "src/lxml/parser.pxi":655
* not context._validator.isvalid()):
* well_formed = 0 # actually not 'valid', but anyway ...
* elif (not c_ctxt.wellFormed and not c_ctxt.html and # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/parser.pxi":653
+ /* "src/lxml/parser.pxi":664
* # tree with mixed encodings.
* well_formed = 0
* elif recover or (c_ctxt.wellFormed and # <<<<<<<<<<<<<<
goto __pyx_L17_bool_binop_done;
}
- /* "src/lxml/parser.pxi":654
+ /* "src/lxml/parser.pxi":665
* well_formed = 0
* elif recover or (c_ctxt.wellFormed and
* c_ctxt.lastError.level < xmlerror.XML_ERR_ERROR): # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_t_3;
__pyx_L17_bool_binop_done:;
- /* "src/lxml/parser.pxi":653
+ /* "src/lxml/parser.pxi":664
* # tree with mixed encodings.
* well_formed = 0
* elif recover or (c_ctxt.wellFormed and # <<<<<<<<<<<<<<
*/
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":655
+ /* "src/lxml/parser.pxi":666
* elif recover or (c_ctxt.wellFormed and
* c_ctxt.lastError.level < xmlerror.XML_ERR_ERROR):
* well_formed = 1 # <<<<<<<<<<<<<<
*/
__pyx_v_well_formed = 1;
- /* "src/lxml/parser.pxi":653
+ /* "src/lxml/parser.pxi":664
* # tree with mixed encodings.
* well_formed = 0
* elif recover or (c_ctxt.wellFormed and # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/parser.pxi":656
+ /* "src/lxml/parser.pxi":667
* c_ctxt.lastError.level < xmlerror.XML_ERR_ERROR):
* well_formed = 1
* elif not c_ctxt.replaceEntities and not c_ctxt.validate \ # <<<<<<<<<<<<<<
goto __pyx_L20_bool_binop_done;
}
- /* "src/lxml/parser.pxi":657
+ /* "src/lxml/parser.pxi":668
* well_formed = 1
* elif not c_ctxt.replaceEntities and not c_ctxt.validate \
* and context is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_t_2;
__pyx_L20_bool_binop_done:;
- /* "src/lxml/parser.pxi":656
+ /* "src/lxml/parser.pxi":667
* c_ctxt.lastError.level < xmlerror.XML_ERR_ERROR):
* well_formed = 1
* elif not c_ctxt.replaceEntities and not c_ctxt.validate \ # <<<<<<<<<<<<<<
*/
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":659
+ /* "src/lxml/parser.pxi":670
* and context is not None:
* # in this mode, we ignore errors about undefined entities
* for error in context._error_log.filter_from_errors(): # <<<<<<<<<<<<<<
* if error.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \
* error.type != ErrorTypes.ERR_UNDECLARED_ENTITY:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_context->_error_log), __pyx_n_s_filter_from_errors); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_context->_error_log), __pyx_n_s_filter_from_errors); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_9 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
}
}
if (__pyx_t_9) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
} else {
- __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
- __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
if (likely(PyList_CheckExact(__pyx_t_5))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[6]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[6]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
__Pyx_XDECREF_SET(__pyx_v_error, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":660
+ /* "src/lxml/parser.pxi":671
* # in this mode, we ignore errors about undefined entities
* for error in context._error_log.filter_from_errors():
* if error.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \ # <<<<<<<<<<<<<<
* error.type != ErrorTypes.ERR_UNDECLARED_ENTITY:
* well_formed = 0
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_WAR_UNDECLARED_ENTITY); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_WAR_UNDECLARED_ENTITY); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
- __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_NE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_t_10, Py_NE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__pyx_t_2) {
} else {
goto __pyx_L26_bool_binop_done;
}
- /* "src/lxml/parser.pxi":661
+ /* "src/lxml/parser.pxi":672
* for error in context._error_log.filter_from_errors():
* if error.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \
* error.type != ErrorTypes.ERR_UNDECLARED_ENTITY: # <<<<<<<<<<<<<<
* well_formed = 0
* break
*/
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_type); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_type); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
- __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_ERR_UNDECLARED_ENTITY); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_ERR_UNDECLARED_ENTITY); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
- __pyx_t_10 = PyObject_RichCompare(__pyx_t_9, __pyx_t_4, Py_NE); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = PyObject_RichCompare(__pyx_t_9, __pyx_t_4, Py_NE); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_1 = __pyx_t_2;
__pyx_L26_bool_binop_done:;
- /* "src/lxml/parser.pxi":660
+ /* "src/lxml/parser.pxi":671
* # in this mode, we ignore errors about undefined entities
* for error in context._error_log.filter_from_errors():
* if error.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \ # <<<<<<<<<<<<<<
*/
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":662
+ /* "src/lxml/parser.pxi":673
* if error.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \
* error.type != ErrorTypes.ERR_UNDECLARED_ENTITY:
* well_formed = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_well_formed = 0;
- /* "src/lxml/parser.pxi":663
+ /* "src/lxml/parser.pxi":674
* error.type != ErrorTypes.ERR_UNDECLARED_ENTITY:
* well_formed = 0
* break # <<<<<<<<<<<<<<
*/
goto __pyx_L24_break;
- /* "src/lxml/parser.pxi":660
+ /* "src/lxml/parser.pxi":671
* # in this mode, we ignore errors about undefined entities
* for error in context._error_log.filter_from_errors():
* if error.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \ # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":659
+ /* "src/lxml/parser.pxi":670
* and context is not None:
* # in this mode, we ignore errors about undefined entities
* for error in context._error_log.filter_from_errors(): # <<<<<<<<<<<<<<
}
/*else*/ {
- /* "src/lxml/parser.pxi":665
+ /* "src/lxml/parser.pxi":676
* break
* else:
* well_formed = 1 # <<<<<<<<<<<<<<
__pyx_v_well_formed = 1;
}
- /* "src/lxml/parser.pxi":659
+ /* "src/lxml/parser.pxi":670
* and context is not None:
* # in this mode, we ignore errors about undefined entities
* for error in context._error_log.filter_from_errors(): # <<<<<<<<<<<<<<
__pyx_L24_break:;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/parser.pxi":656
+ /* "src/lxml/parser.pxi":667
* c_ctxt.lastError.level < xmlerror.XML_ERR_ERROR):
* well_formed = 1
* elif not c_ctxt.replaceEntities and not c_ctxt.validate \ # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/parser.pxi":667
+ /* "src/lxml/parser.pxi":678
* well_formed = 1
* else:
* well_formed = 0 # <<<<<<<<<<<<<<
}
__pyx_L7:;
- /* "src/lxml/parser.pxi":669
+ /* "src/lxml/parser.pxi":680
* well_formed = 0
*
* if not well_formed: # <<<<<<<<<<<<<<
__pyx_t_1 = ((!(__pyx_v_well_formed != 0)) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":670
+ /* "src/lxml/parser.pxi":681
*
* if not well_formed:
* if free_doc: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_free_doc != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":671
+ /* "src/lxml/parser.pxi":682
* if not well_formed:
* if free_doc:
* tree.xmlFreeDoc(result) # <<<<<<<<<<<<<<
*/
xmlFreeDoc(__pyx_v_result);
- /* "src/lxml/parser.pxi":670
+ /* "src/lxml/parser.pxi":681
*
* if not well_formed:
* if free_doc: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":672
+ /* "src/lxml/parser.pxi":683
* if free_doc:
* tree.xmlFreeDoc(result)
* result = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_result = NULL;
- /* "src/lxml/parser.pxi":669
+ /* "src/lxml/parser.pxi":680
* well_formed = 0
*
* if not well_formed: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":640
+ /* "src/lxml/parser.pxi":651
* c_ctxt.myDoc = NULL
*
* if result is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":674
+ /* "src/lxml/parser.pxi":685
* result = NULL
*
* if context is not None and context._has_raised(): # <<<<<<<<<<<<<<
__pyx_L32_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":675
+ /* "src/lxml/parser.pxi":686
*
* if context is not None and context._has_raised():
* if result is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":676
+ /* "src/lxml/parser.pxi":687
* if context is not None and context._has_raised():
* if result is not NULL:
* if free_doc: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_free_doc != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":677
+ /* "src/lxml/parser.pxi":688
* if result is not NULL:
* if free_doc:
* tree.xmlFreeDoc(result) # <<<<<<<<<<<<<<
*/
xmlFreeDoc(__pyx_v_result);
- /* "src/lxml/parser.pxi":676
+ /* "src/lxml/parser.pxi":687
* if context is not None and context._has_raised():
* if result is not NULL:
* if free_doc: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":678
+ /* "src/lxml/parser.pxi":689
* if free_doc:
* tree.xmlFreeDoc(result)
* result = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_result = NULL;
- /* "src/lxml/parser.pxi":675
+ /* "src/lxml/parser.pxi":686
*
* if context is not None and context._has_raised():
* if result is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":679
+ /* "src/lxml/parser.pxi":690
* tree.xmlFreeDoc(result)
* result = NULL
* context._raise_if_stored() # <<<<<<<<<<<<<<
*
* if result is NULL:
*/
- __pyx_t_11 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base._raise_if_stored(((struct __pyx_obj_4lxml_5etree__ExceptionContext *)__pyx_v_context)); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base._raise_if_stored(((struct __pyx_obj_4lxml_5etree__ExceptionContext *)__pyx_v_context)); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":674
+ /* "src/lxml/parser.pxi":685
* result = NULL
*
* if context is not None and context._has_raised(): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":681
+ /* "src/lxml/parser.pxi":692
* context._raise_if_stored()
*
* if result is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":682
+ /* "src/lxml/parser.pxi":693
*
* if result is NULL:
* if context is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_1 != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":683
+ /* "src/lxml/parser.pxi":694
* if result is NULL:
* if context is not None:
* _raiseParseError(c_ctxt, filename, context._error_log) # <<<<<<<<<<<<<<
*/
__pyx_t_5 = ((PyObject *)__pyx_v_context->_error_log);
__Pyx_INCREF(__pyx_t_5);
- __pyx_t_11 = __pyx_f_4lxml_5etree__raiseParseError(__pyx_v_c_ctxt, __pyx_v_filename, ((struct __pyx_obj_4lxml_5etree__ErrorLog *)__pyx_t_5)); if (unlikely(__pyx_t_11 == 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = __pyx_f_4lxml_5etree__raiseParseError(__pyx_v_c_ctxt, __pyx_v_filename, ((struct __pyx_obj_4lxml_5etree__ErrorLog *)__pyx_t_5)); if (unlikely(__pyx_t_11 == 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/parser.pxi":682
+ /* "src/lxml/parser.pxi":693
*
* if result is NULL:
* if context is not None: # <<<<<<<<<<<<<<
goto __pyx_L37;
}
- /* "src/lxml/parser.pxi":685
+ /* "src/lxml/parser.pxi":696
* _raiseParseError(c_ctxt, filename, context._error_log)
* else:
* _raiseParseError(c_ctxt, filename, None) # <<<<<<<<<<<<<<
* if result.URL is NULL and filename is not None:
*/
/*else*/ {
- __pyx_t_11 = __pyx_f_4lxml_5etree__raiseParseError(__pyx_v_c_ctxt, __pyx_v_filename, ((struct __pyx_obj_4lxml_5etree__ErrorLog *)Py_None)); if (unlikely(__pyx_t_11 == 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = __pyx_f_4lxml_5etree__raiseParseError(__pyx_v_c_ctxt, __pyx_v_filename, ((struct __pyx_obj_4lxml_5etree__ErrorLog *)Py_None)); if (unlikely(__pyx_t_11 == 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_L37:;
- /* "src/lxml/parser.pxi":681
+ /* "src/lxml/parser.pxi":692
* context._raise_if_stored()
*
* if result is NULL: # <<<<<<<<<<<<<<
goto __pyx_L36;
}
- /* "src/lxml/parser.pxi":687
+ /* "src/lxml/parser.pxi":698
* _raiseParseError(c_ctxt, filename, None)
* else:
* if result.URL is NULL and filename is not None: # <<<<<<<<<<<<<<
__pyx_L39_bool_binop_done:;
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":688
+ /* "src/lxml/parser.pxi":699
* else:
* if result.URL is NULL and filename is not None:
* result.URL = tree.xmlStrdup(_xcstr(filename)) # <<<<<<<<<<<<<<
*/
__pyx_v_result->URL = xmlStrdup((const xmlChar*)PyBytes_AS_STRING(__pyx_v_filename));
- /* "src/lxml/parser.pxi":687
+ /* "src/lxml/parser.pxi":698
* _raiseParseError(c_ctxt, filename, None)
* else:
* if result.URL is NULL and filename is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":689
+ /* "src/lxml/parser.pxi":700
* if result.URL is NULL and filename is not None:
* result.URL = tree.xmlStrdup(_xcstr(filename))
* if result.encoding is NULL: # <<<<<<<<<<<<<<
__pyx_t_3 = ((__pyx_v_result->encoding == NULL) != 0);
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":690
+ /* "src/lxml/parser.pxi":701
* result.URL = tree.xmlStrdup(_xcstr(filename))
* if result.encoding is NULL:
* result.encoding = tree.xmlStrdup(<unsigned char*>"UTF-8") # <<<<<<<<<<<<<<
*/
__pyx_v_result->encoding = xmlStrdup(((unsigned char *)((unsigned char *)__pyx_k_UTF_8)));
- /* "src/lxml/parser.pxi":689
+ /* "src/lxml/parser.pxi":700
* if result.URL is NULL and filename is not None:
* result.URL = tree.xmlStrdup(_xcstr(filename))
* if result.encoding is NULL: # <<<<<<<<<<<<<<
}
__pyx_L36:;
- /* "src/lxml/parser.pxi":692
+ /* "src/lxml/parser.pxi":703
* result.encoding = tree.xmlStrdup(<unsigned char*>"UTF-8")
*
* if context._validator is not None and \ # <<<<<<<<<<<<<<
goto __pyx_L43_bool_binop_done;
}
- /* "src/lxml/parser.pxi":693
+ /* "src/lxml/parser.pxi":704
*
* if context._validator is not None and \
* context._validator._add_default_attributes: # <<<<<<<<<<<<<<
__pyx_t_3 = __pyx_t_1;
__pyx_L43_bool_binop_done:;
- /* "src/lxml/parser.pxi":692
+ /* "src/lxml/parser.pxi":703
* result.encoding = tree.xmlStrdup(<unsigned char*>"UTF-8")
*
* if context._validator is not None and \ # <<<<<<<<<<<<<<
*/
if (__pyx_t_3) {
- /* "src/lxml/parser.pxi":697
+ /* "src/lxml/parser.pxi":708
* # support inserting default attributes during parse-time
* # validation
* context._validator.inject_default_attributes(result) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_30_ParserSchemaValidationContext_inject_default_attributes(__pyx_v_context->_validator, __pyx_v_result);
- /* "src/lxml/parser.pxi":692
+ /* "src/lxml/parser.pxi":703
* result.encoding = tree.xmlStrdup(<unsigned char*>"UTF-8")
*
* if context._validator is not None and \ # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":699
+ /* "src/lxml/parser.pxi":710
* context._validator.inject_default_attributes(result)
*
* return result # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":626
+ /* "src/lxml/parser.pxi":637
* raise XMLSyntaxError(None, xmlerror.XML_ERR_INTERNAL_ERROR, 0, 0)
*
* cdef xmlDoc* _handleParseResult(_ParserContext context, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":701
+/* "src/lxml/parser.pxi":712
* return result
*
* cdef int _fixHtmlDictNames(tree.xmlDict* c_dict, xmlDoc* c_doc) nogil: # <<<<<<<<<<<<<<
int __pyx_t_1;
xmlNode *__pyx_t_2;
- /* "src/lxml/parser.pxi":703
+ /* "src/lxml/parser.pxi":714
* cdef int _fixHtmlDictNames(tree.xmlDict* c_dict, xmlDoc* c_doc) nogil:
* cdef xmlNode* c_node
* if c_doc is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_doc == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":704
+ /* "src/lxml/parser.pxi":715
* cdef xmlNode* c_node
* if c_doc is NULL:
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":703
+ /* "src/lxml/parser.pxi":714
* cdef int _fixHtmlDictNames(tree.xmlDict* c_dict, xmlDoc* c_doc) nogil:
* cdef xmlNode* c_node
* if c_doc is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":705
+ /* "src/lxml/parser.pxi":716
* if c_doc is NULL:
* return 0
* c_node = c_doc.children # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_v_c_doc->children;
__pyx_v_c_node = __pyx_t_2;
- /* "src/lxml/parser.pxi":706
+ /* "src/lxml/parser.pxi":717
* return 0
* c_node = c_doc.children
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1) # <<<<<<<<<<<<<<
*/
BEGIN_FOR_EACH_ELEMENT_FROM(((xmlNode *)__pyx_v_c_doc), __pyx_v_c_node, 1);
- /* "src/lxml/parser.pxi":707
+ /* "src/lxml/parser.pxi":718
* c_node = c_doc.children
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_node->type == XML_ELEMENT_NODE) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":708
+ /* "src/lxml/parser.pxi":719
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE:
* if _fixHtmlDictNodeNames(c_dict, c_node) < 0: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_f_4lxml_5etree__fixHtmlDictNodeNames(__pyx_v_c_dict, __pyx_v_c_node) < 0) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":709
+ /* "src/lxml/parser.pxi":720
* if c_node.type == tree.XML_ELEMENT_NODE:
* if _fixHtmlDictNodeNames(c_dict, c_node) < 0:
* return -1 # <<<<<<<<<<<<<<
__pyx_r = -1;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":708
+ /* "src/lxml/parser.pxi":719
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE:
* if _fixHtmlDictNodeNames(c_dict, c_node) < 0: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":707
+ /* "src/lxml/parser.pxi":718
* c_node = c_doc.children
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":710
+ /* "src/lxml/parser.pxi":721
* if _fixHtmlDictNodeNames(c_dict, c_node) < 0:
* return -1
* tree.END_FOR_EACH_ELEMENT_FROM(c_node) # <<<<<<<<<<<<<<
*/
END_FOR_EACH_ELEMENT_FROM(__pyx_v_c_node);
- /* "src/lxml/parser.pxi":711
+ /* "src/lxml/parser.pxi":722
* return -1
* tree.END_FOR_EACH_ELEMENT_FROM(c_node)
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":701
+ /* "src/lxml/parser.pxi":712
* return result
*
* cdef int _fixHtmlDictNames(tree.xmlDict* c_dict, xmlDoc* c_doc) nogil: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":713
+/* "src/lxml/parser.pxi":724
* return 0
*
* cdef int _fixHtmlDictSubtreeNames(tree.xmlDict* c_dict, xmlDoc* c_doc, # <<<<<<<<<<<<<<
int __pyx_r;
int __pyx_t_1;
- /* "src/lxml/parser.pxi":720
+ /* "src/lxml/parser.pxi":731
* """
* cdef xmlNode* c_node
* if not c_doc: # <<<<<<<<<<<<<<
__pyx_t_1 = ((!(__pyx_v_c_doc != 0)) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":721
+ /* "src/lxml/parser.pxi":732
* cdef xmlNode* c_node
* if not c_doc:
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":720
+ /* "src/lxml/parser.pxi":731
* """
* cdef xmlNode* c_node
* if not c_doc: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":722
+ /* "src/lxml/parser.pxi":733
* if not c_doc:
* return 0
* if not c_start_node: # <<<<<<<<<<<<<<
__pyx_t_1 = ((!(__pyx_v_c_start_node != 0)) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":723
+ /* "src/lxml/parser.pxi":734
* return 0
* if not c_start_node:
* return _fixHtmlDictNames(c_dict, c_doc) # <<<<<<<<<<<<<<
__pyx_r = __pyx_f_4lxml_5etree__fixHtmlDictNames(__pyx_v_c_dict, __pyx_v_c_doc);
goto __pyx_L0;
- /* "src/lxml/parser.pxi":722
+ /* "src/lxml/parser.pxi":733
* if not c_doc:
* return 0
* if not c_start_node: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":724
+ /* "src/lxml/parser.pxi":735
* if not c_start_node:
* return _fixHtmlDictNames(c_dict, c_doc)
* c_node = c_start_node # <<<<<<<<<<<<<<
*/
__pyx_v_c_node = __pyx_v_c_start_node;
- /* "src/lxml/parser.pxi":725
+ /* "src/lxml/parser.pxi":736
* return _fixHtmlDictNames(c_dict, c_doc)
* c_node = c_start_node
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1) # <<<<<<<<<<<<<<
*/
BEGIN_FOR_EACH_ELEMENT_FROM(((xmlNode *)__pyx_v_c_doc), __pyx_v_c_node, 1);
- /* "src/lxml/parser.pxi":726
+ /* "src/lxml/parser.pxi":737
* c_node = c_start_node
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_node->type == XML_ELEMENT_NODE) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":727
+ /* "src/lxml/parser.pxi":738
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE:
* if _fixHtmlDictNodeNames(c_dict, c_node) < 0: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_f_4lxml_5etree__fixHtmlDictNodeNames(__pyx_v_c_dict, __pyx_v_c_node) < 0) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":728
+ /* "src/lxml/parser.pxi":739
* if c_node.type == tree.XML_ELEMENT_NODE:
* if _fixHtmlDictNodeNames(c_dict, c_node) < 0:
* return -1 # <<<<<<<<<<<<<<
__pyx_r = -1;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":727
+ /* "src/lxml/parser.pxi":738
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE:
* if _fixHtmlDictNodeNames(c_dict, c_node) < 0: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":726
+ /* "src/lxml/parser.pxi":737
* c_node = c_start_node
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(<xmlNode*>c_doc, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":729
+ /* "src/lxml/parser.pxi":740
* if _fixHtmlDictNodeNames(c_dict, c_node) < 0:
* return -1
* tree.END_FOR_EACH_ELEMENT_FROM(c_node) # <<<<<<<<<<<<<<
*/
END_FOR_EACH_ELEMENT_FROM(__pyx_v_c_node);
- /* "src/lxml/parser.pxi":730
+ /* "src/lxml/parser.pxi":741
* return -1
* tree.END_FOR_EACH_ELEMENT_FROM(c_node)
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":713
+ /* "src/lxml/parser.pxi":724
* return 0
*
* cdef int _fixHtmlDictSubtreeNames(tree.xmlDict* c_dict, xmlDoc* c_doc, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":732
+/* "src/lxml/parser.pxi":743
* return 0
*
* cdef inline int _fixHtmlDictNodeNames(tree.xmlDict* c_dict, # <<<<<<<<<<<<<<
int __pyx_t_1;
xmlNode *__pyx_t_2;
- /* "src/lxml/parser.pxi":735
+ /* "src/lxml/parser.pxi":746
* xmlNode* c_node) nogil:
* cdef xmlNode* c_attr
* c_name = tree.xmlDictLookup(c_dict, c_node.name, -1) # <<<<<<<<<<<<<<
*/
__pyx_v_c_name = xmlDictLookup(__pyx_v_c_dict, __pyx_v_c_node->name, -1);
- /* "src/lxml/parser.pxi":736
+ /* "src/lxml/parser.pxi":747
* cdef xmlNode* c_attr
* c_name = tree.xmlDictLookup(c_dict, c_node.name, -1)
* if c_name is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_name == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":737
+ /* "src/lxml/parser.pxi":748
* c_name = tree.xmlDictLookup(c_dict, c_node.name, -1)
* if c_name is NULL:
* return -1 # <<<<<<<<<<<<<<
__pyx_r = -1;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":736
+ /* "src/lxml/parser.pxi":747
* cdef xmlNode* c_attr
* c_name = tree.xmlDictLookup(c_dict, c_node.name, -1)
* if c_name is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":738
+ /* "src/lxml/parser.pxi":749
* if c_name is NULL:
* return -1
* if c_name is not c_node.name: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_name != __pyx_v_c_node->name) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":739
+ /* "src/lxml/parser.pxi":750
* return -1
* if c_name is not c_node.name:
* tree.xmlFree(<char*>c_node.name) # <<<<<<<<<<<<<<
*/
xmlFree(((char *)__pyx_v_c_node->name));
- /* "src/lxml/parser.pxi":740
+ /* "src/lxml/parser.pxi":751
* if c_name is not c_node.name:
* tree.xmlFree(<char*>c_node.name)
* c_node.name = c_name # <<<<<<<<<<<<<<
*/
__pyx_v_c_node->name = __pyx_v_c_name;
- /* "src/lxml/parser.pxi":738
+ /* "src/lxml/parser.pxi":749
* if c_name is NULL:
* return -1
* if c_name is not c_node.name: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":741
+ /* "src/lxml/parser.pxi":752
* tree.xmlFree(<char*>c_node.name)
* c_node.name = c_name
* c_attr = <xmlNode*>c_node.properties # <<<<<<<<<<<<<<
*/
__pyx_v_c_attr = ((xmlNode *)__pyx_v_c_node->properties);
- /* "src/lxml/parser.pxi":742
+ /* "src/lxml/parser.pxi":753
* c_node.name = c_name
* c_attr = <xmlNode*>c_node.properties
* while c_attr is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_attr != NULL) != 0);
if (!__pyx_t_1) break;
- /* "src/lxml/parser.pxi":743
+ /* "src/lxml/parser.pxi":754
* c_attr = <xmlNode*>c_node.properties
* while c_attr is not NULL:
* c_name = tree.xmlDictLookup(c_dict, c_attr.name, -1) # <<<<<<<<<<<<<<
*/
__pyx_v_c_name = xmlDictLookup(__pyx_v_c_dict, __pyx_v_c_attr->name, -1);
- /* "src/lxml/parser.pxi":744
+ /* "src/lxml/parser.pxi":755
* while c_attr is not NULL:
* c_name = tree.xmlDictLookup(c_dict, c_attr.name, -1)
* if c_name is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_name == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":745
+ /* "src/lxml/parser.pxi":756
* c_name = tree.xmlDictLookup(c_dict, c_attr.name, -1)
* if c_name is NULL:
* return -1 # <<<<<<<<<<<<<<
__pyx_r = -1;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":744
+ /* "src/lxml/parser.pxi":755
* while c_attr is not NULL:
* c_name = tree.xmlDictLookup(c_dict, c_attr.name, -1)
* if c_name is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":746
+ /* "src/lxml/parser.pxi":757
* if c_name is NULL:
* return -1
* if c_name is not c_attr.name: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_name != __pyx_v_c_attr->name) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":747
+ /* "src/lxml/parser.pxi":758
* return -1
* if c_name is not c_attr.name:
* tree.xmlFree(<char*>c_attr.name) # <<<<<<<<<<<<<<
*/
xmlFree(((char *)__pyx_v_c_attr->name));
- /* "src/lxml/parser.pxi":748
+ /* "src/lxml/parser.pxi":759
* if c_name is not c_attr.name:
* tree.xmlFree(<char*>c_attr.name)
* c_attr.name = c_name # <<<<<<<<<<<<<<
*/
__pyx_v_c_attr->name = __pyx_v_c_name;
- /* "src/lxml/parser.pxi":746
+ /* "src/lxml/parser.pxi":757
* if c_name is NULL:
* return -1
* if c_name is not c_attr.name: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":749
+ /* "src/lxml/parser.pxi":760
* tree.xmlFree(<char*>c_attr.name)
* c_attr.name = c_name
* c_attr = c_attr.next # <<<<<<<<<<<<<<
__pyx_v_c_attr = __pyx_t_2;
}
- /* "src/lxml/parser.pxi":750
+ /* "src/lxml/parser.pxi":761
* c_attr.name = c_name
* c_attr = c_attr.next
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":732
+ /* "src/lxml/parser.pxi":743
* return 0
*
* cdef inline int _fixHtmlDictNodeNames(tree.xmlDict* c_dict, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":770
+/* "src/lxml/parser.pxi":781
* cdef tuple _events_to_collect # (event_types, tag)
*
* def __init__(self, int parse_options, bint for_html, XMLSchema schema, # <<<<<<<<<<<<<<
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_for_html)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 1); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 1); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_schema)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 2); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 2); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 3:
if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_remove_comments)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 3); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 3); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 4:
if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_remove_pis)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 4); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 4); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 5:
if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_strip_cdata)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 5); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 5); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 6:
if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_collect_ids)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 6); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 6); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 7:
if (likely((values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 7); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 7); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 8:
if (likely((values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoding)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 8); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 8); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
goto __pyx_L5_argtuple_error;
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
}
- __pyx_v_parse_options = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_parse_options == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
- __pyx_v_for_html = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_for_html == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_parse_options = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_parse_options == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_for_html = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_for_html == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_v_schema = ((struct __pyx_obj_4lxml_5etree_XMLSchema *)values[2]);
__pyx_v_remove_comments = values[3];
__pyx_v_remove_pis = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree._BaseParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_schema), __pyx_ptype_4lxml_5etree_XMLSchema, 1, "schema", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_schema), __pyx_ptype_4lxml_5etree_XMLSchema, 1, "schema", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_11_BaseParser___init__(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_parse_options, __pyx_v_for_html, __pyx_v_schema, __pyx_v_remove_comments, __pyx_v_remove_pis, __pyx_v_strip_cdata, __pyx_v_collect_ids, __pyx_v_target, __pyx_v_encoding);
/* function exit code */
__Pyx_RefNannySetupContext("__init__", 0);
__Pyx_INCREF(__pyx_v_encoding);
- /* "src/lxml/parser.pxi":775
+ /* "src/lxml/parser.pxi":786
* cdef tree.xmlCharEncodingHandler* enchandler
* cdef int c_encoding
* if not isinstance(self, (XMLParser, HTMLParser)): # <<<<<<<<<<<<<<
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":776
+ /* "src/lxml/parser.pxi":787
* cdef int c_encoding
* if not isinstance(self, (XMLParser, HTMLParser)):
* raise TypeError, u"This class cannot be instantiated" # <<<<<<<<<<<<<<
* self._parse_options = parse_options
*/
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_u_This_class_cannot_be_instantiate, 0, 0);
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":775
+ /* "src/lxml/parser.pxi":786
* cdef tree.xmlCharEncodingHandler* enchandler
* cdef int c_encoding
* if not isinstance(self, (XMLParser, HTMLParser)): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":778
+ /* "src/lxml/parser.pxi":789
* raise TypeError, u"This class cannot be instantiated"
*
* self._parse_options = parse_options # <<<<<<<<<<<<<<
*/
__pyx_v_self->_parse_options = __pyx_v_parse_options;
- /* "src/lxml/parser.pxi":779
+ /* "src/lxml/parser.pxi":790
*
* self._parse_options = parse_options
* self.target = target # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->target);
__pyx_v_self->target = __pyx_v_target;
- /* "src/lxml/parser.pxi":780
+ /* "src/lxml/parser.pxi":791
* self._parse_options = parse_options
* self.target = target
* self._for_html = for_html # <<<<<<<<<<<<<<
*/
__pyx_v_self->_for_html = __pyx_v_for_html;
- /* "src/lxml/parser.pxi":781
+ /* "src/lxml/parser.pxi":792
* self.target = target
* self._for_html = for_html
* self._remove_comments = remove_comments # <<<<<<<<<<<<<<
* self._remove_pis = remove_pis
* self._strip_cdata = strip_cdata
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_remove_comments); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_remove_comments); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_self->_remove_comments = __pyx_t_2;
- /* "src/lxml/parser.pxi":782
+ /* "src/lxml/parser.pxi":793
* self._for_html = for_html
* self._remove_comments = remove_comments
* self._remove_pis = remove_pis # <<<<<<<<<<<<<<
* self._strip_cdata = strip_cdata
* self._collect_ids = collect_ids
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_remove_pis); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_remove_pis); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_self->_remove_pis = __pyx_t_2;
- /* "src/lxml/parser.pxi":783
+ /* "src/lxml/parser.pxi":794
* self._remove_comments = remove_comments
* self._remove_pis = remove_pis
* self._strip_cdata = strip_cdata # <<<<<<<<<<<<<<
* self._collect_ids = collect_ids
* self._schema = schema
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_strip_cdata); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_strip_cdata); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_self->_strip_cdata = __pyx_t_2;
- /* "src/lxml/parser.pxi":784
+ /* "src/lxml/parser.pxi":795
* self._remove_pis = remove_pis
* self._strip_cdata = strip_cdata
* self._collect_ids = collect_ids # <<<<<<<<<<<<<<
* self._schema = schema
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_collect_ids); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_collect_ids); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_self->_collect_ids = __pyx_t_2;
- /* "src/lxml/parser.pxi":785
+ /* "src/lxml/parser.pxi":796
* self._strip_cdata = strip_cdata
* self._collect_ids = collect_ids
* self._schema = schema # <<<<<<<<<<<<<<
__Pyx_DECREF(((PyObject *)__pyx_v_self->_schema));
__pyx_v_self->_schema = __pyx_v_schema;
- /* "src/lxml/parser.pxi":787
+ /* "src/lxml/parser.pxi":798
* self._schema = schema
*
* self._resolvers = _ResolverRegistry() # <<<<<<<<<<<<<<
*
* if encoding is None:
*/
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ResolverRegistry), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ResolverRegistry), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_v_self->_resolvers);
__pyx_v_self->_resolvers = ((struct __pyx_obj_4lxml_5etree__ResolverRegistry *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":789
+ /* "src/lxml/parser.pxi":800
* self._resolvers = _ResolverRegistry()
*
* if encoding is None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":790
+ /* "src/lxml/parser.pxi":801
*
* if encoding is None:
* self._default_encoding = None # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->_default_encoding);
__pyx_v_self->_default_encoding = Py_None;
- /* "src/lxml/parser.pxi":789
+ /* "src/lxml/parser.pxi":800
* self._resolvers = _ResolverRegistry()
*
* if encoding is None: # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/parser.pxi":792
+ /* "src/lxml/parser.pxi":803
* self._default_encoding = None
* else:
* encoding = _utf8(encoding) # <<<<<<<<<<<<<<
* if enchandler is NULL:
*/
/*else*/ {
- __pyx_t_4 = __pyx_f_4lxml_5etree__utf8(__pyx_v_encoding); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_4lxml_5etree__utf8(__pyx_v_encoding); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_encoding, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":793
+ /* "src/lxml/parser.pxi":804
* else:
* encoding = _utf8(encoding)
* enchandler = tree.xmlFindCharEncodingHandler(_cstr(encoding)) # <<<<<<<<<<<<<<
*/
__pyx_v_enchandler = xmlFindCharEncodingHandler(PyBytes_AS_STRING(__pyx_v_encoding));
- /* "src/lxml/parser.pxi":794
+ /* "src/lxml/parser.pxi":805
* encoding = _utf8(encoding)
* enchandler = tree.xmlFindCharEncodingHandler(_cstr(encoding))
* if enchandler is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_enchandler == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":795
+ /* "src/lxml/parser.pxi":806
* enchandler = tree.xmlFindCharEncodingHandler(_cstr(encoding))
* if enchandler is NULL:
* raise LookupError, u"unknown encoding: '%s'" % encoding # <<<<<<<<<<<<<<
* tree.xmlCharEncCloseFunc(enchandler)
* self._default_encoding = encoding
*/
- __pyx_t_4 = PyUnicode_Format(__pyx_kp_u_unknown_encoding_s, __pyx_v_encoding); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyUnicode_Format(__pyx_kp_u_unknown_encoding_s, __pyx_v_encoding); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_Raise(__pyx_builtin_LookupError, __pyx_t_4, 0, 0);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":794
+ /* "src/lxml/parser.pxi":805
* encoding = _utf8(encoding)
* enchandler = tree.xmlFindCharEncodingHandler(_cstr(encoding))
* if enchandler is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":796
+ /* "src/lxml/parser.pxi":807
* if enchandler is NULL:
* raise LookupError, u"unknown encoding: '%s'" % encoding
* tree.xmlCharEncCloseFunc(enchandler) # <<<<<<<<<<<<<<
*/
xmlCharEncCloseFunc(__pyx_v_enchandler);
- /* "src/lxml/parser.pxi":797
+ /* "src/lxml/parser.pxi":808
* raise LookupError, u"unknown encoding: '%s'" % encoding
* tree.xmlCharEncCloseFunc(enchandler)
* self._default_encoding = encoding # <<<<<<<<<<<<<<
}
__pyx_L6:;
- /* "src/lxml/parser.pxi":770
+ /* "src/lxml/parser.pxi":781
* cdef tuple _events_to_collect # (event_types, tag)
*
* def __init__(self, int parse_options, bint for_html, XMLSchema schema, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":799
+/* "src/lxml/parser.pxi":810
* self._default_encoding = encoding
*
* cdef _setBaseURL(self, base_url): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_setBaseURL", 0);
- /* "src/lxml/parser.pxi":800
+ /* "src/lxml/parser.pxi":811
*
* cdef _setBaseURL(self, base_url):
* self._filename = _encodeFilename(base_url) # <<<<<<<<<<<<<<
*
* cdef _collectEvents(self, event_types, tag):
*/
- __pyx_t_1 = __pyx_f_4lxml_5etree__encodeFilename(__pyx_v_base_url); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree__encodeFilename(__pyx_v_base_url); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_self->_filename);
__Pyx_DECREF(__pyx_v_self->_filename);
__pyx_v_self->_filename = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":799
+ /* "src/lxml/parser.pxi":810
* self._default_encoding = encoding
*
* cdef _setBaseURL(self, base_url): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":802
+/* "src/lxml/parser.pxi":813
* self._filename = _encodeFilename(base_url)
*
* cdef _collectEvents(self, event_types, tag): # <<<<<<<<<<<<<<
__Pyx_RefNannySetupContext("_collectEvents", 0);
__Pyx_INCREF(__pyx_v_event_types);
- /* "src/lxml/parser.pxi":803
+ /* "src/lxml/parser.pxi":814
*
* cdef _collectEvents(self, event_types, tag):
* if event_types is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":804
+ /* "src/lxml/parser.pxi":815
* cdef _collectEvents(self, event_types, tag):
* if event_types is None:
* event_types = () # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_empty_tuple);
__Pyx_DECREF_SET(__pyx_v_event_types, __pyx_empty_tuple);
- /* "src/lxml/parser.pxi":803
+ /* "src/lxml/parser.pxi":814
*
* cdef _collectEvents(self, event_types, tag):
* if event_types is None: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":806
+ /* "src/lxml/parser.pxi":817
* event_types = ()
* else:
* event_types = tuple(set(event_types)) # <<<<<<<<<<<<<<
* self._events_to_collect = (event_types, tag)
*/
/*else*/ {
- __pyx_t_3 = PySet_New(__pyx_v_event_types); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySet_New(__pyx_v_event_types); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PySequence_Tuple(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_Tuple(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_event_types, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":807
+ /* "src/lxml/parser.pxi":818
* else:
* event_types = tuple(set(event_types))
* _buildParseEventFilter(event_types) # purely for validation # <<<<<<<<<<<<<<
* self._events_to_collect = (event_types, tag)
*
*/
- __pyx_t_5 = __pyx_f_4lxml_5etree__buildParseEventFilter(__pyx_v_event_types); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __pyx_f_4lxml_5etree__buildParseEventFilter(__pyx_v_event_types); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":808
+ /* "src/lxml/parser.pxi":819
* event_types = tuple(set(event_types))
* _buildParseEventFilter(event_types) # purely for validation
* self._events_to_collect = (event_types, tag) # <<<<<<<<<<<<<<
*
* cdef _ParserContext _getParserContext(self):
*/
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_event_types);
__Pyx_GIVEREF(__pyx_v_event_types);
__pyx_v_self->_events_to_collect = ((PyObject*)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":802
+ /* "src/lxml/parser.pxi":813
* self._filename = _encodeFilename(base_url)
*
* cdef _collectEvents(self, event_types, tag): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":810
+/* "src/lxml/parser.pxi":821
* self._events_to_collect = (event_types, tag)
*
* cdef _ParserContext _getParserContext(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_getParserContext", 0);
- /* "src/lxml/parser.pxi":812
+ /* "src/lxml/parser.pxi":823
* cdef _ParserContext _getParserContext(self):
* cdef xmlparser.xmlParserCtxt* pctxt
* if self._parser_context is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":813
+ /* "src/lxml/parser.pxi":824
* cdef xmlparser.xmlParserCtxt* pctxt
* if self._parser_context is None:
* self._parser_context = self._createContext(self.target, None) # <<<<<<<<<<<<<<
*/
__pyx_t_3 = __pyx_v_self->target;
__Pyx_INCREF(__pyx_t_3);
- __pyx_t_4 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_createContext(__pyx_v_self, __pyx_t_3, Py_None)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_createContext(__pyx_v_self, __pyx_t_3, Py_None)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GIVEREF(__pyx_t_4);
__pyx_v_self->_parser_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":814
+ /* "src/lxml/parser.pxi":825
* if self._parser_context is None:
* self._parser_context = self._createContext(self.target, None)
* self._parser_context._collect_ids = self._collect_ids # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_v_self->_collect_ids;
__pyx_v_self->_parser_context->_collect_ids = __pyx_t_2;
- /* "src/lxml/parser.pxi":815
+ /* "src/lxml/parser.pxi":826
* self._parser_context = self._createContext(self.target, None)
* self._parser_context._collect_ids = self._collect_ids
* if self._schema is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":817
+ /* "src/lxml/parser.pxi":828
* if self._schema is not None:
* self._parser_context._validator = \
* self._schema._newSaxValidator( # <<<<<<<<<<<<<<
* self._parse_options & xmlparser.XML_PARSE_DTDATTR)
* pctxt = self._newParserCtxt()
*/
- __pyx_t_4 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree_XMLSchema *)__pyx_v_self->_schema->__pyx_base.__pyx_vtab)->_newSaxValidator(__pyx_v_self->_schema, (__pyx_v_self->_parse_options & XML_PARSE_DTDATTR))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree_XMLSchema *)__pyx_v_self->_schema->__pyx_base.__pyx_vtab)->_newSaxValidator(__pyx_v_self->_schema, (__pyx_v_self->_parse_options & XML_PARSE_DTDATTR))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- /* "src/lxml/parser.pxi":816
+ /* "src/lxml/parser.pxi":827
* self._parser_context._collect_ids = self._collect_ids
* if self._schema is not None:
* self._parser_context._validator = \ # <<<<<<<<<<<<<<
__pyx_v_self->_parser_context->_validator = ((struct __pyx_obj_4lxml_5etree__ParserSchemaValidationContext *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":815
+ /* "src/lxml/parser.pxi":826
* self._parser_context = self._createContext(self.target, None)
* self._parser_context._collect_ids = self._collect_ids
* if self._schema is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":819
+ /* "src/lxml/parser.pxi":830
* self._schema._newSaxValidator(
* self._parse_options & xmlparser.XML_PARSE_DTDATTR)
* pctxt = self._newParserCtxt() # <<<<<<<<<<<<<<
* _initParserContext(self._parser_context, self._resolvers, pctxt)
* self._configureSaxContext(pctxt)
*/
- __pyx_t_5 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_newParserCtxt(__pyx_v_self); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_newParserCtxt(__pyx_v_self); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_pctxt = __pyx_t_5;
- /* "src/lxml/parser.pxi":820
+ /* "src/lxml/parser.pxi":831
* self._parse_options & xmlparser.XML_PARSE_DTDATTR)
* pctxt = self._newParserCtxt()
* _initParserContext(self._parser_context, self._resolvers, pctxt) # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_t_4);
__pyx_t_3 = ((PyObject *)__pyx_v_self->_resolvers);
__Pyx_INCREF(__pyx_t_3);
- __pyx_t_6 = __pyx_f_4lxml_5etree__initParserContext(((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_4), ((struct __pyx_obj_4lxml_5etree__ResolverRegistry *)__pyx_t_3), __pyx_v_pctxt); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __pyx_f_4lxml_5etree__initParserContext(((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_4), ((struct __pyx_obj_4lxml_5etree__ResolverRegistry *)__pyx_t_3), __pyx_v_pctxt); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
- /* "src/lxml/parser.pxi":821
+ /* "src/lxml/parser.pxi":832
* pctxt = self._newParserCtxt()
* _initParserContext(self._parser_context, self._resolvers, pctxt)
* self._configureSaxContext(pctxt) # <<<<<<<<<<<<<<
* return self._parser_context
*
*/
- __pyx_t_7 = __pyx_f_4lxml_5etree_11_BaseParser__configureSaxContext(__pyx_v_self, __pyx_v_pctxt); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __pyx_f_4lxml_5etree_11_BaseParser__configureSaxContext(__pyx_v_self, __pyx_v_pctxt); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":812
+ /* "src/lxml/parser.pxi":823
* cdef _ParserContext _getParserContext(self):
* cdef xmlparser.xmlParserCtxt* pctxt
* if self._parser_context is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":822
+ /* "src/lxml/parser.pxi":833
* _initParserContext(self._parser_context, self._resolvers, pctxt)
* self._configureSaxContext(pctxt)
* return self._parser_context # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_self->_parser_context;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":810
+ /* "src/lxml/parser.pxi":821
* self._events_to_collect = (event_types, tag)
*
* cdef _ParserContext _getParserContext(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":824
+/* "src/lxml/parser.pxi":835
* return self._parser_context
*
* cdef _ParserContext _getPushParserContext(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_getPushParserContext", 0);
- /* "src/lxml/parser.pxi":826
+ /* "src/lxml/parser.pxi":837
* cdef _ParserContext _getPushParserContext(self):
* cdef xmlparser.xmlParserCtxt* pctxt
* if self._push_parser_context is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":828
+ /* "src/lxml/parser.pxi":839
* if self._push_parser_context is None:
* self._push_parser_context = self._createContext(
* self.target, self._events_to_collect) # <<<<<<<<<<<<<<
__pyx_t_4 = __pyx_v_self->_events_to_collect;
__Pyx_INCREF(__pyx_t_4);
- /* "src/lxml/parser.pxi":827
+ /* "src/lxml/parser.pxi":838
* cdef xmlparser.xmlParserCtxt* pctxt
* if self._push_parser_context is None:
* self._push_parser_context = self._createContext( # <<<<<<<<<<<<<<
* self.target, self._events_to_collect)
* self._push_parser_context._collect_ids = self._collect_ids
*/
- __pyx_t_5 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_createContext(__pyx_v_self, __pyx_t_3, __pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_createContext(__pyx_v_self, __pyx_t_3, __pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_self->_push_parser_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/parser.pxi":829
+ /* "src/lxml/parser.pxi":840
* self._push_parser_context = self._createContext(
* self.target, self._events_to_collect)
* self._push_parser_context._collect_ids = self._collect_ids # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_v_self->_collect_ids;
__pyx_v_self->_push_parser_context->_collect_ids = __pyx_t_2;
- /* "src/lxml/parser.pxi":830
+ /* "src/lxml/parser.pxi":841
* self.target, self._events_to_collect)
* self._push_parser_context._collect_ids = self._collect_ids
* if self._schema is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":832
+ /* "src/lxml/parser.pxi":843
* if self._schema is not None:
* self._push_parser_context._validator = \
* self._schema._newSaxValidator( # <<<<<<<<<<<<<<
* self._parse_options & xmlparser.XML_PARSE_DTDATTR)
* pctxt = self._newPushParserCtxt()
*/
- __pyx_t_5 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree_XMLSchema *)__pyx_v_self->_schema->__pyx_base.__pyx_vtab)->_newSaxValidator(__pyx_v_self->_schema, (__pyx_v_self->_parse_options & XML_PARSE_DTDATTR))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree_XMLSchema *)__pyx_v_self->_schema->__pyx_base.__pyx_vtab)->_newSaxValidator(__pyx_v_self->_schema, (__pyx_v_self->_parse_options & XML_PARSE_DTDATTR))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- /* "src/lxml/parser.pxi":831
+ /* "src/lxml/parser.pxi":842
* self._push_parser_context._collect_ids = self._collect_ids
* if self._schema is not None:
* self._push_parser_context._validator = \ # <<<<<<<<<<<<<<
__pyx_v_self->_push_parser_context->_validator = ((struct __pyx_obj_4lxml_5etree__ParserSchemaValidationContext *)__pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/parser.pxi":830
+ /* "src/lxml/parser.pxi":841
* self.target, self._events_to_collect)
* self._push_parser_context._collect_ids = self._collect_ids
* if self._schema is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":834
+ /* "src/lxml/parser.pxi":845
* self._schema._newSaxValidator(
* self._parse_options & xmlparser.XML_PARSE_DTDATTR)
* pctxt = self._newPushParserCtxt() # <<<<<<<<<<<<<<
* _initParserContext(
* self._push_parser_context, self._resolvers, pctxt)
*/
- __pyx_t_6 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_newPushParserCtxt(__pyx_v_self); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_newPushParserCtxt(__pyx_v_self); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_pctxt = __pyx_t_6;
- /* "src/lxml/parser.pxi":836
+ /* "src/lxml/parser.pxi":847
* pctxt = self._newPushParserCtxt()
* _initParserContext(
* self._push_parser_context, self._resolvers, pctxt) # <<<<<<<<<<<<<<
__pyx_t_4 = ((PyObject *)__pyx_v_self->_resolvers);
__Pyx_INCREF(__pyx_t_4);
- /* "src/lxml/parser.pxi":835
+ /* "src/lxml/parser.pxi":846
* self._parse_options & xmlparser.XML_PARSE_DTDATTR)
* pctxt = self._newPushParserCtxt()
* _initParserContext( # <<<<<<<<<<<<<<
* self._push_parser_context, self._resolvers, pctxt)
* self._configureSaxContext(pctxt)
*/
- __pyx_t_3 = __pyx_f_4lxml_5etree__initParserContext(((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_5), ((struct __pyx_obj_4lxml_5etree__ResolverRegistry *)__pyx_t_4), __pyx_v_pctxt); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __pyx_f_4lxml_5etree__initParserContext(((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_5), ((struct __pyx_obj_4lxml_5etree__ResolverRegistry *)__pyx_t_4), __pyx_v_pctxt); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":837
+ /* "src/lxml/parser.pxi":848
* _initParserContext(
* self._push_parser_context, self._resolvers, pctxt)
* self._configureSaxContext(pctxt) # <<<<<<<<<<<<<<
* return self._push_parser_context
*
*/
- __pyx_t_7 = __pyx_f_4lxml_5etree_11_BaseParser__configureSaxContext(__pyx_v_self, __pyx_v_pctxt); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __pyx_f_4lxml_5etree_11_BaseParser__configureSaxContext(__pyx_v_self, __pyx_v_pctxt); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":826
+ /* "src/lxml/parser.pxi":837
* cdef _ParserContext _getPushParserContext(self):
* cdef xmlparser.xmlParserCtxt* pctxt
* if self._push_parser_context is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":838
+ /* "src/lxml/parser.pxi":849
* self._push_parser_context, self._resolvers, pctxt)
* self._configureSaxContext(pctxt)
* return self._push_parser_context # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_self->_push_parser_context;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":824
+ /* "src/lxml/parser.pxi":835
* return self._parser_context
*
* cdef _ParserContext _getPushParserContext(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":840
+/* "src/lxml/parser.pxi":851
* return self._push_parser_context
*
* cdef _ParserContext _createContext(self, target, events_to_collect): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_createContext", 0);
- /* "src/lxml/parser.pxi":842
+ /* "src/lxml/parser.pxi":853
* cdef _ParserContext _createContext(self, target, events_to_collect):
* cdef _SaxParserContext sax_context
* if target is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":843
+ /* "src/lxml/parser.pxi":854
* cdef _SaxParserContext sax_context
* if target is not None:
* sax_context = _TargetParserContext(self) # <<<<<<<<<<<<<<
* (<_TargetParserContext>sax_context)._setTarget(target)
* elif events_to_collect:
*/
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self));
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__TargetParserContext), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__TargetParserContext), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_sax_context = ((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":844
+ /* "src/lxml/parser.pxi":855
* if target is not None:
* sax_context = _TargetParserContext(self)
* (<_TargetParserContext>sax_context)._setTarget(target) # <<<<<<<<<<<<<<
* elif events_to_collect:
* sax_context = _SaxParserContext(self)
*/
- __pyx_t_5 = __pyx_f_4lxml_5etree_20_TargetParserContext__setTarget(((struct __pyx_obj_4lxml_5etree__TargetParserContext *)__pyx_v_sax_context), __pyx_v_target); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __pyx_f_4lxml_5etree_20_TargetParserContext__setTarget(((struct __pyx_obj_4lxml_5etree__TargetParserContext *)__pyx_v_sax_context), __pyx_v_target); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 855; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":842
+ /* "src/lxml/parser.pxi":853
* cdef _ParserContext _createContext(self, target, events_to_collect):
* cdef _SaxParserContext sax_context
* if target is not None: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":845
+ /* "src/lxml/parser.pxi":856
* sax_context = _TargetParserContext(self)
* (<_TargetParserContext>sax_context)._setTarget(target)
* elif events_to_collect: # <<<<<<<<<<<<<<
* sax_context = _SaxParserContext(self)
* else:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_events_to_collect); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_events_to_collect); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":846
+ /* "src/lxml/parser.pxi":857
* (<_TargetParserContext>sax_context)._setTarget(target)
* elif events_to_collect:
* sax_context = _SaxParserContext(self) # <<<<<<<<<<<<<<
* else:
* # nothing special to configure
*/
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__SaxParserContext), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__SaxParserContext), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_sax_context = ((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":845
+ /* "src/lxml/parser.pxi":856
* sax_context = _TargetParserContext(self)
* (<_TargetParserContext>sax_context)._setTarget(target)
* elif events_to_collect: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":849
+ /* "src/lxml/parser.pxi":860
* else:
* # nothing special to configure
* return _ParserContext() # <<<<<<<<<<<<<<
*/
/*else*/ {
__Pyx_XDECREF(((PyObject *)__pyx_r));
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ParserContext), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__ParserContext), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_3);
__pyx_t_3 = 0;
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":850
+ /* "src/lxml/parser.pxi":861
* # nothing special to configure
* return _ParserContext()
* if events_to_collect: # <<<<<<<<<<<<<<
* events, tag = events_to_collect
* sax_context._setEventFilter(events, tag)
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_events_to_collect); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_events_to_collect); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":851
+ /* "src/lxml/parser.pxi":862
* return _ParserContext()
* if events_to_collect:
* events, tag = events_to_collect # <<<<<<<<<<<<<<
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
#else
- __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
Py_ssize_t index = -1;
- __pyx_t_6 = PyObject_GetIter(__pyx_v_events_to_collect); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyObject_GetIter(__pyx_v_events_to_collect); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_4);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_7 = NULL;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
goto __pyx_L6_unpacking_done;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L6_unpacking_done:;
}
__pyx_v_events = __pyx_t_3;
__pyx_v_tag = __pyx_t_4;
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":852
+ /* "src/lxml/parser.pxi":863
* if events_to_collect:
* events, tag = events_to_collect
* sax_context._setEventFilter(events, tag) # <<<<<<<<<<<<<<
* return sax_context
*
*/
- __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__SaxParserContext *)__pyx_v_sax_context->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_setEventFilter(__pyx_v_sax_context, __pyx_v_events, __pyx_v_tag); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__SaxParserContext *)__pyx_v_sax_context->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->_setEventFilter(__pyx_v_sax_context, __pyx_v_events, __pyx_v_tag); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":850
+ /* "src/lxml/parser.pxi":861
* # nothing special to configure
* return _ParserContext()
* if events_to_collect: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":853
+ /* "src/lxml/parser.pxi":864
* events, tag = events_to_collect
* sax_context._setEventFilter(events, tag)
* return sax_context # <<<<<<<<<<<<<<
__pyx_r = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_v_sax_context);
goto __pyx_L0;
- /* "src/lxml/parser.pxi":840
+ /* "src/lxml/parser.pxi":851
* return self._push_parser_context
*
* cdef _ParserContext _createContext(self, target, events_to_collect): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":856
+/* "src/lxml/parser.pxi":867
*
* @cython.final
* cdef int _configureSaxContext(self, xmlparser.xmlParserCtxt* pctxt) except -1: # <<<<<<<<<<<<<<
int __pyx_t_1;
__Pyx_RefNannySetupContext("_configureSaxContext", 0);
- /* "src/lxml/parser.pxi":857
+ /* "src/lxml/parser.pxi":868
* @cython.final
* cdef int _configureSaxContext(self, xmlparser.xmlParserCtxt* pctxt) except -1:
* if self._remove_comments: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_self->_remove_comments != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":858
+ /* "src/lxml/parser.pxi":869
* cdef int _configureSaxContext(self, xmlparser.xmlParserCtxt* pctxt) except -1:
* if self._remove_comments:
* pctxt.sax.comment = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_pctxt->sax->comment = NULL;
- /* "src/lxml/parser.pxi":857
+ /* "src/lxml/parser.pxi":868
* @cython.final
* cdef int _configureSaxContext(self, xmlparser.xmlParserCtxt* pctxt) except -1:
* if self._remove_comments: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":859
+ /* "src/lxml/parser.pxi":870
* if self._remove_comments:
* pctxt.sax.comment = NULL
* if self._remove_pis: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_self->_remove_pis != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":860
+ /* "src/lxml/parser.pxi":871
* pctxt.sax.comment = NULL
* if self._remove_pis:
* pctxt.sax.processingInstruction = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_pctxt->sax->processingInstruction = NULL;
- /* "src/lxml/parser.pxi":859
+ /* "src/lxml/parser.pxi":870
* if self._remove_comments:
* pctxt.sax.comment = NULL
* if self._remove_pis: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":861
+ /* "src/lxml/parser.pxi":872
* if self._remove_pis:
* pctxt.sax.processingInstruction = NULL
* if self._strip_cdata: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_self->_strip_cdata != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":863
+ /* "src/lxml/parser.pxi":874
* if self._strip_cdata:
* # hard switch-off for CDATA nodes => makes them plain text
* pctxt.sax.cdataBlock = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_pctxt->sax->cdataBlock = NULL;
- /* "src/lxml/parser.pxi":861
+ /* "src/lxml/parser.pxi":872
* if self._remove_pis:
* pctxt.sax.processingInstruction = NULL
* if self._strip_cdata: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":856
+ /* "src/lxml/parser.pxi":867
*
* @cython.final
* cdef int _configureSaxContext(self, xmlparser.xmlParserCtxt* pctxt) except -1: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":865
+/* "src/lxml/parser.pxi":876
* pctxt.sax.cdataBlock = NULL
*
* cdef int _registerHtmlErrorHandler(self, xmlparser.xmlParserCtxt* c_ctxt) except -1: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_registerHtmlErrorHandler", 0);
- /* "src/lxml/parser.pxi":866
+ /* "src/lxml/parser.pxi":877
*
* cdef int _registerHtmlErrorHandler(self, xmlparser.xmlParserCtxt* c_ctxt) except -1:
* cdef xmlparser.xmlSAXHandler* sax = c_ctxt.sax # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_v_c_ctxt->sax;
__pyx_v_sax = __pyx_t_1;
- /* "src/lxml/parser.pxi":867
+ /* "src/lxml/parser.pxi":878
* cdef int _registerHtmlErrorHandler(self, xmlparser.xmlParserCtxt* c_ctxt) except -1:
* cdef xmlparser.xmlSAXHandler* sax = c_ctxt.sax
* if sax is not NULL and sax.initialized and sax.initialized != xmlparser.XML_SAX2_MAGIC: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":869
+ /* "src/lxml/parser.pxi":880
* if sax is not NULL and sax.initialized and sax.initialized != xmlparser.XML_SAX2_MAGIC:
* # need to extend SAX1 context to SAX2 to get proper error reports
* if <xmlparser.xmlSAXHandlerV1*>sax is &htmlparser.htmlDefaultSAXHandler: # <<<<<<<<<<<<<<
__pyx_t_2 = ((((xmlSAXHandlerV1 *)__pyx_v_sax) == (&htmlDefaultSAXHandler)) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":870
+ /* "src/lxml/parser.pxi":881
* # need to extend SAX1 context to SAX2 to get proper error reports
* if <xmlparser.xmlSAXHandlerV1*>sax is &htmlparser.htmlDefaultSAXHandler:
* sax = <xmlparser.xmlSAXHandler*> stdlib.malloc(sizeof(xmlparser.xmlSAXHandler)) # <<<<<<<<<<<<<<
*/
__pyx_v_sax = ((xmlSAXHandler *)malloc((sizeof(xmlSAXHandler))));
- /* "src/lxml/parser.pxi":871
+ /* "src/lxml/parser.pxi":882
* if <xmlparser.xmlSAXHandlerV1*>sax is &htmlparser.htmlDefaultSAXHandler:
* sax = <xmlparser.xmlSAXHandler*> stdlib.malloc(sizeof(xmlparser.xmlSAXHandler))
* if sax is NULL: # <<<<<<<<<<<<<<
__pyx_t_2 = ((__pyx_v_sax == NULL) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":872
+ /* "src/lxml/parser.pxi":883
* sax = <xmlparser.xmlSAXHandler*> stdlib.malloc(sizeof(xmlparser.xmlSAXHandler))
* if sax is NULL:
* raise MemoryError() # <<<<<<<<<<<<<<
* cstring_h.memcpy(sax, &htmlparser.htmlDefaultSAXHandler,
* sizeof(htmlparser.htmlDefaultSAXHandler))
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":871
+ /* "src/lxml/parser.pxi":882
* if <xmlparser.xmlSAXHandlerV1*>sax is &htmlparser.htmlDefaultSAXHandler:
* sax = <xmlparser.xmlSAXHandler*> stdlib.malloc(sizeof(xmlparser.xmlSAXHandler))
* if sax is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":873
+ /* "src/lxml/parser.pxi":884
* if sax is NULL:
* raise MemoryError()
* cstring_h.memcpy(sax, &htmlparser.htmlDefaultSAXHandler, # <<<<<<<<<<<<<<
*/
memcpy(__pyx_v_sax, (&htmlDefaultSAXHandler), (sizeof(htmlDefaultSAXHandler)));
- /* "src/lxml/parser.pxi":875
+ /* "src/lxml/parser.pxi":886
* cstring_h.memcpy(sax, &htmlparser.htmlDefaultSAXHandler,
* sizeof(htmlparser.htmlDefaultSAXHandler))
* c_ctxt.sax = sax # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt->sax = __pyx_v_sax;
- /* "src/lxml/parser.pxi":869
+ /* "src/lxml/parser.pxi":880
* if sax is not NULL and sax.initialized and sax.initialized != xmlparser.XML_SAX2_MAGIC:
* # need to extend SAX1 context to SAX2 to get proper error reports
* if <xmlparser.xmlSAXHandlerV1*>sax is &htmlparser.htmlDefaultSAXHandler: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":876
+ /* "src/lxml/parser.pxi":887
* sizeof(htmlparser.htmlDefaultSAXHandler))
* c_ctxt.sax = sax
* sax.initialized = xmlparser.XML_SAX2_MAGIC # <<<<<<<<<<<<<<
*/
__pyx_v_sax->initialized = XML_SAX2_MAGIC;
- /* "src/lxml/parser.pxi":877
+ /* "src/lxml/parser.pxi":888
* c_ctxt.sax = sax
* sax.initialized = xmlparser.XML_SAX2_MAGIC
* sax.serror = _receiveParserError # <<<<<<<<<<<<<<
*/
__pyx_v_sax->serror = __pyx_f_4lxml_5etree__receiveParserError;
- /* "src/lxml/parser.pxi":878
+ /* "src/lxml/parser.pxi":889
* sax.initialized = xmlparser.XML_SAX2_MAGIC
* sax.serror = _receiveParserError
* sax.startElementNs = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_sax->startElementNs = NULL;
- /* "src/lxml/parser.pxi":879
+ /* "src/lxml/parser.pxi":890
* sax.serror = _receiveParserError
* sax.startElementNs = NULL
* sax.endElementNs = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_sax->endElementNs = NULL;
- /* "src/lxml/parser.pxi":880
+ /* "src/lxml/parser.pxi":891
* sax.startElementNs = NULL
* sax.endElementNs = NULL
* sax._private = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_sax->_private = NULL;
- /* "src/lxml/parser.pxi":867
+ /* "src/lxml/parser.pxi":878
* cdef int _registerHtmlErrorHandler(self, xmlparser.xmlParserCtxt* c_ctxt) except -1:
* cdef xmlparser.xmlSAXHandler* sax = c_ctxt.sax
* if sax is not NULL and sax.initialized and sax.initialized != xmlparser.XML_SAX2_MAGIC: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":881
+ /* "src/lxml/parser.pxi":892
* sax.endElementNs = NULL
* sax._private = NULL
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":865
+ /* "src/lxml/parser.pxi":876
* pctxt.sax.cdataBlock = NULL
*
* cdef int _registerHtmlErrorHandler(self, xmlparser.xmlParserCtxt* c_ctxt) except -1: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":883
+/* "src/lxml/parser.pxi":894
* return 0
*
* cdef xmlparser.xmlParserCtxt* _newParserCtxt(self) except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_newParserCtxt", 0);
- /* "src/lxml/parser.pxi":885
+ /* "src/lxml/parser.pxi":896
* cdef xmlparser.xmlParserCtxt* _newParserCtxt(self) except NULL:
* cdef xmlparser.xmlParserCtxt* c_ctxt
* if self._for_html: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_self->_for_html != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":886
+ /* "src/lxml/parser.pxi":897
* cdef xmlparser.xmlParserCtxt* c_ctxt
* if self._for_html:
* c_ctxt = htmlparser.htmlCreateMemoryParserCtxt('dummy', 5) # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt = htmlCreateMemoryParserCtxt(__pyx_k_dummy, 5);
- /* "src/lxml/parser.pxi":887
+ /* "src/lxml/parser.pxi":898
* if self._for_html:
* c_ctxt = htmlparser.htmlCreateMemoryParserCtxt('dummy', 5)
* if c_ctxt is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_ctxt != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":888
+ /* "src/lxml/parser.pxi":899
* c_ctxt = htmlparser.htmlCreateMemoryParserCtxt('dummy', 5)
* if c_ctxt is not NULL:
* self._registerHtmlErrorHandler(c_ctxt) # <<<<<<<<<<<<<<
* else:
* c_ctxt = xmlparser.xmlNewParserCtxt()
*/
- __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_registerHtmlErrorHandler(__pyx_v_self, __pyx_v_c_ctxt); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_registerHtmlErrorHandler(__pyx_v_self, __pyx_v_c_ctxt); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":887
+ /* "src/lxml/parser.pxi":898
* if self._for_html:
* c_ctxt = htmlparser.htmlCreateMemoryParserCtxt('dummy', 5)
* if c_ctxt is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":885
+ /* "src/lxml/parser.pxi":896
* cdef xmlparser.xmlParserCtxt* _newParserCtxt(self) except NULL:
* cdef xmlparser.xmlParserCtxt* c_ctxt
* if self._for_html: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":890
+ /* "src/lxml/parser.pxi":901
* self._registerHtmlErrorHandler(c_ctxt)
* else:
* c_ctxt = xmlparser.xmlNewParserCtxt() # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":891
+ /* "src/lxml/parser.pxi":902
* else:
* c_ctxt = xmlparser.xmlNewParserCtxt()
* if c_ctxt is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_ctxt == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":892
+ /* "src/lxml/parser.pxi":903
* c_ctxt = xmlparser.xmlNewParserCtxt()
* if c_ctxt is NULL:
* raise MemoryError # <<<<<<<<<<<<<<
* c_ctxt.sax.startDocument = _initSaxDocument
* return c_ctxt
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":891
+ /* "src/lxml/parser.pxi":902
* else:
* c_ctxt = xmlparser.xmlNewParserCtxt()
* if c_ctxt is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":893
+ /* "src/lxml/parser.pxi":904
* if c_ctxt is NULL:
* raise MemoryError
* c_ctxt.sax.startDocument = _initSaxDocument # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt->sax->startDocument = __pyx_f_4lxml_5etree__initSaxDocument;
- /* "src/lxml/parser.pxi":894
+ /* "src/lxml/parser.pxi":905
* raise MemoryError
* c_ctxt.sax.startDocument = _initSaxDocument
* return c_ctxt # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_c_ctxt;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":883
+ /* "src/lxml/parser.pxi":894
* return 0
*
* cdef xmlparser.xmlParserCtxt* _newParserCtxt(self) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":896
+/* "src/lxml/parser.pxi":907
* return c_ctxt
*
* cdef xmlparser.xmlParserCtxt* _newPushParserCtxt(self) except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_newPushParserCtxt", 0);
- /* "src/lxml/parser.pxi":898
+ /* "src/lxml/parser.pxi":909
* cdef xmlparser.xmlParserCtxt* _newPushParserCtxt(self) except NULL:
* cdef xmlparser.xmlParserCtxt* c_ctxt
* cdef char* c_filename = _cstr(self._filename) if self._filename is not None else NULL # <<<<<<<<<<<<<<
}
__pyx_v_c_filename = __pyx_t_1;
- /* "src/lxml/parser.pxi":899
+ /* "src/lxml/parser.pxi":910
* cdef xmlparser.xmlParserCtxt* c_ctxt
* cdef char* c_filename = _cstr(self._filename) if self._filename is not None else NULL
* if self._for_html: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_self->_for_html != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":900
+ /* "src/lxml/parser.pxi":911
* cdef char* c_filename = _cstr(self._filename) if self._filename is not None else NULL
* if self._for_html:
* c_ctxt = htmlparser.htmlCreatePushParserCtxt( # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, __pyx_v_c_filename, XML_CHAR_ENCODING_NONE);
- /* "src/lxml/parser.pxi":902
+ /* "src/lxml/parser.pxi":913
* c_ctxt = htmlparser.htmlCreatePushParserCtxt(
* NULL, NULL, NULL, 0, c_filename, tree.XML_CHAR_ENCODING_NONE)
* if c_ctxt is not NULL: # <<<<<<<<<<<<<<
__pyx_t_2 = ((__pyx_v_c_ctxt != NULL) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":903
+ /* "src/lxml/parser.pxi":914
* NULL, NULL, NULL, 0, c_filename, tree.XML_CHAR_ENCODING_NONE)
* if c_ctxt is not NULL:
* self._registerHtmlErrorHandler(c_ctxt) # <<<<<<<<<<<<<<
* htmlparser.htmlCtxtUseOptions(c_ctxt, self._parse_options)
* else:
*/
- __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_registerHtmlErrorHandler(__pyx_v_self, __pyx_v_c_ctxt); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_registerHtmlErrorHandler(__pyx_v_self, __pyx_v_c_ctxt); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":904
+ /* "src/lxml/parser.pxi":915
* if c_ctxt is not NULL:
* self._registerHtmlErrorHandler(c_ctxt)
* htmlparser.htmlCtxtUseOptions(c_ctxt, self._parse_options) # <<<<<<<<<<<<<<
*/
htmlCtxtUseOptions(__pyx_v_c_ctxt, __pyx_v_self->_parse_options);
- /* "src/lxml/parser.pxi":902
+ /* "src/lxml/parser.pxi":913
* c_ctxt = htmlparser.htmlCreatePushParserCtxt(
* NULL, NULL, NULL, 0, c_filename, tree.XML_CHAR_ENCODING_NONE)
* if c_ctxt is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":899
+ /* "src/lxml/parser.pxi":910
* cdef xmlparser.xmlParserCtxt* c_ctxt
* cdef char* c_filename = _cstr(self._filename) if self._filename is not None else NULL
* if self._for_html: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":906
+ /* "src/lxml/parser.pxi":917
* htmlparser.htmlCtxtUseOptions(c_ctxt, self._parse_options)
* else:
* c_ctxt = xmlparser.xmlCreatePushParserCtxt( # <<<<<<<<<<<<<<
*/
/*else*/ {
- /* "src/lxml/parser.pxi":907
+ /* "src/lxml/parser.pxi":918
* else:
* c_ctxt = xmlparser.xmlCreatePushParserCtxt(
* NULL, NULL, NULL, 0, c_filename) # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, __pyx_v_c_filename);
- /* "src/lxml/parser.pxi":908
+ /* "src/lxml/parser.pxi":919
* c_ctxt = xmlparser.xmlCreatePushParserCtxt(
* NULL, NULL, NULL, 0, c_filename)
* if c_ctxt is not NULL: # <<<<<<<<<<<<<<
__pyx_t_2 = ((__pyx_v_c_ctxt != NULL) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":909
+ /* "src/lxml/parser.pxi":920
* NULL, NULL, NULL, 0, c_filename)
* if c_ctxt is not NULL:
* xmlparser.xmlCtxtUseOptions(c_ctxt, self._parse_options) # <<<<<<<<<<<<<<
*/
xmlCtxtUseOptions(__pyx_v_c_ctxt, __pyx_v_self->_parse_options);
- /* "src/lxml/parser.pxi":908
+ /* "src/lxml/parser.pxi":919
* c_ctxt = xmlparser.xmlCreatePushParserCtxt(
* NULL, NULL, NULL, 0, c_filename)
* if c_ctxt is not NULL: # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":910
+ /* "src/lxml/parser.pxi":921
* if c_ctxt is not NULL:
* xmlparser.xmlCtxtUseOptions(c_ctxt, self._parse_options)
* if c_ctxt is NULL: # <<<<<<<<<<<<<<
__pyx_t_2 = ((__pyx_v_c_ctxt == NULL) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":911
+ /* "src/lxml/parser.pxi":922
* xmlparser.xmlCtxtUseOptions(c_ctxt, self._parse_options)
* if c_ctxt is NULL:
* raise MemoryError() # <<<<<<<<<<<<<<
* c_ctxt.sax.startDocument = _initSaxDocument
* return c_ctxt
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":910
+ /* "src/lxml/parser.pxi":921
* if c_ctxt is not NULL:
* xmlparser.xmlCtxtUseOptions(c_ctxt, self._parse_options)
* if c_ctxt is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":912
+ /* "src/lxml/parser.pxi":923
* if c_ctxt is NULL:
* raise MemoryError()
* c_ctxt.sax.startDocument = _initSaxDocument # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt->sax->startDocument = __pyx_f_4lxml_5etree__initSaxDocument;
- /* "src/lxml/parser.pxi":913
+ /* "src/lxml/parser.pxi":924
* raise MemoryError()
* c_ctxt.sax.startDocument = _initSaxDocument
* return c_ctxt # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_c_ctxt;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":896
+ /* "src/lxml/parser.pxi":907
* return c_ctxt
*
* cdef xmlparser.xmlParserCtxt* _newPushParserCtxt(self) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":918
+/* "src/lxml/parser.pxi":929
* u"""The error log of the last parser run.
* """
* def __get__(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "src/lxml/parser.pxi":920
+ /* "src/lxml/parser.pxi":931
* def __get__(self):
* cdef _ParserContext context
* context = self._getParserContext() # <<<<<<<<<<<<<<
* return context._error_log.copy()
*
*/
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":921
+ /* "src/lxml/parser.pxi":932
* cdef _ParserContext context
* context = self._getParserContext()
* return context._error_log.copy() # <<<<<<<<<<<<<<
* property resolvers:
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = ((struct __pyx_vtabstruct_4lxml_5etree__ErrorLog *)__pyx_v_context->_error_log->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.copy(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_v_context->_error_log), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((struct __pyx_vtabstruct_4lxml_5etree__ErrorLog *)__pyx_v_context->_error_log->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.copy(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_v_context->_error_log), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":918
+ /* "src/lxml/parser.pxi":929
* u"""The error log of the last parser run.
* """
* def __get__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":925
+/* "src/lxml/parser.pxi":936
* property resolvers:
* u"The custom resolver registry of this parser."
* def __get__(self): # <<<<<<<<<<<<<<
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "src/lxml/parser.pxi":926
+ /* "src/lxml/parser.pxi":937
* u"The custom resolver registry of this parser."
* def __get__(self):
* return self._resolvers # <<<<<<<<<<<<<<
__pyx_r = ((PyObject *)__pyx_v_self->_resolvers);
goto __pyx_L0;
- /* "src/lxml/parser.pxi":925
+ /* "src/lxml/parser.pxi":936
* property resolvers:
* u"The custom resolver registry of this parser."
* def __get__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":930
+/* "src/lxml/parser.pxi":941
* property version:
* u"The version of the underlying XML parser."
* def __get__(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "src/lxml/parser.pxi":931
+ /* "src/lxml/parser.pxi":942
* u"The version of the underlying XML parser."
* def __get__(self):
* return u"libxml2 %d.%d.%d" % LIBXML_VERSION # <<<<<<<<<<<<<<
* def setElementClassLookup(self, ElementClassLookup lookup = None):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_LIBXML_VERSION); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_LIBXML_VERSION); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyUnicode_Format(__pyx_kp_u_libxml2_d_d_d, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyUnicode_Format(__pyx_kp_u_libxml2_d_d_d, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":930
+ /* "src/lxml/parser.pxi":941
* property version:
* u"The version of the underlying XML parser."
* def __get__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":933
+/* "src/lxml/parser.pxi":944
* return u"libxml2 %d.%d.%d" % LIBXML_VERSION
*
* def setElementClassLookup(self, ElementClassLookup lookup = None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setElementClassLookup") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setElementClassLookup") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("setElementClassLookup", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("setElementClassLookup", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree._BaseParser.setElementClassLookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lookup), __pyx_ptype_4lxml_5etree_ElementClassLookup, 1, "lookup", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lookup), __pyx_ptype_4lxml_5etree_ElementClassLookup, 1, "lookup", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_11_BaseParser_2setElementClassLookup(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_lookup);
/* function exit code */
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("setElementClassLookup", 0);
- /* "src/lxml/parser.pxi":935
+ /* "src/lxml/parser.pxi":946
* def setElementClassLookup(self, ElementClassLookup lookup = None):
* u":deprecated: use ``parser.set_element_class_lookup(lookup)`` instead."
* self.set_element_class_lookup(lookup) # <<<<<<<<<<<<<<
*
* def set_element_class_lookup(self, ElementClassLookup lookup = None):
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_element_class_lookup); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_element_class_lookup); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (!__pyx_t_3) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_lookup)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_lookup)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
__Pyx_INCREF(((PyObject *)__pyx_v_lookup));
__Pyx_GIVEREF(((PyObject *)__pyx_v_lookup));
PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_lookup));
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":933
+ /* "src/lxml/parser.pxi":944
* return u"libxml2 %d.%d.%d" % LIBXML_VERSION
*
* def setElementClassLookup(self, ElementClassLookup lookup = None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":937
+/* "src/lxml/parser.pxi":948
* self.set_element_class_lookup(lookup)
*
* def set_element_class_lookup(self, ElementClassLookup lookup = None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_element_class_lookup") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_element_class_lookup") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_element_class_lookup", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("set_element_class_lookup", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree._BaseParser.set_element_class_lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lookup), __pyx_ptype_4lxml_5etree_ElementClassLookup, 1, "lookup", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lookup), __pyx_ptype_4lxml_5etree_ElementClassLookup, 1, "lookup", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_11_BaseParser_4set_element_class_lookup(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_lookup);
/* function exit code */
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_element_class_lookup", 0);
- /* "src/lxml/parser.pxi":944
+ /* "src/lxml/parser.pxi":955
* Reset it by passing None or nothing.
* """
* self._class_lookup = lookup # <<<<<<<<<<<<<<
__Pyx_DECREF(((PyObject *)__pyx_v_self->_class_lookup));
__pyx_v_self->_class_lookup = __pyx_v_lookup;
- /* "src/lxml/parser.pxi":937
+ /* "src/lxml/parser.pxi":948
* self.set_element_class_lookup(lookup)
*
* def set_element_class_lookup(self, ElementClassLookup lookup = None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":946
+/* "src/lxml/parser.pxi":957
* self._class_lookup = lookup
*
* cdef _BaseParser _copy(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copy", 0);
- /* "src/lxml/parser.pxi":949
+ /* "src/lxml/parser.pxi":960
* u"Create a new parser with the same configuration."
* cdef _BaseParser parser
* parser = self.__class__() # <<<<<<<<<<<<<<
* parser._parse_options = self._parse_options
* parser._for_html = self._for_html
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (__pyx_t_3) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__BaseParser))))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__BaseParser))))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_parser = ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":950
+ /* "src/lxml/parser.pxi":961
* cdef _BaseParser parser
* parser = self.__class__()
* parser._parse_options = self._parse_options # <<<<<<<<<<<<<<
__pyx_t_4 = __pyx_v_self->_parse_options;
__pyx_v_parser->_parse_options = __pyx_t_4;
- /* "src/lxml/parser.pxi":951
+ /* "src/lxml/parser.pxi":962
* parser = self.__class__()
* parser._parse_options = self._parse_options
* parser._for_html = self._for_html # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_v_self->_for_html;
__pyx_v_parser->_for_html = __pyx_t_5;
- /* "src/lxml/parser.pxi":952
+ /* "src/lxml/parser.pxi":963
* parser._parse_options = self._parse_options
* parser._for_html = self._for_html
* parser._remove_comments = self._remove_comments # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_v_self->_remove_comments;
__pyx_v_parser->_remove_comments = __pyx_t_5;
- /* "src/lxml/parser.pxi":953
+ /* "src/lxml/parser.pxi":964
* parser._for_html = self._for_html
* parser._remove_comments = self._remove_comments
* parser._remove_pis = self._remove_pis # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_v_self->_remove_pis;
__pyx_v_parser->_remove_pis = __pyx_t_5;
- /* "src/lxml/parser.pxi":954
+ /* "src/lxml/parser.pxi":965
* parser._remove_comments = self._remove_comments
* parser._remove_pis = self._remove_pis
* parser._strip_cdata = self._strip_cdata # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_v_self->_strip_cdata;
__pyx_v_parser->_strip_cdata = __pyx_t_5;
- /* "src/lxml/parser.pxi":955
+ /* "src/lxml/parser.pxi":966
* parser._remove_pis = self._remove_pis
* parser._strip_cdata = self._strip_cdata
* parser._filename = self._filename # <<<<<<<<<<<<<<
__pyx_v_parser->_filename = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":956
+ /* "src/lxml/parser.pxi":967
* parser._strip_cdata = self._strip_cdata
* parser._filename = self._filename
* parser._resolvers = self._resolvers # <<<<<<<<<<<<<<
__pyx_v_parser->_resolvers = ((struct __pyx_obj_4lxml_5etree__ResolverRegistry *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":957
+ /* "src/lxml/parser.pxi":968
* parser._filename = self._filename
* parser._resolvers = self._resolvers
* parser.target = self.target # <<<<<<<<<<<<<<
__pyx_v_parser->target = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":958
+ /* "src/lxml/parser.pxi":969
* parser._resolvers = self._resolvers
* parser.target = self.target
* parser._class_lookup = self._class_lookup # <<<<<<<<<<<<<<
__pyx_v_parser->_class_lookup = ((struct LxmlElementClassLookup *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":959
+ /* "src/lxml/parser.pxi":970
* parser.target = self.target
* parser._class_lookup = self._class_lookup
* parser._default_encoding = self._default_encoding # <<<<<<<<<<<<<<
__pyx_v_parser->_default_encoding = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":960
+ /* "src/lxml/parser.pxi":971
* parser._class_lookup = self._class_lookup
* parser._default_encoding = self._default_encoding
* parser._schema = self._schema # <<<<<<<<<<<<<<
__pyx_v_parser->_schema = ((struct __pyx_obj_4lxml_5etree_XMLSchema *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":961
+ /* "src/lxml/parser.pxi":972
* parser._default_encoding = self._default_encoding
* parser._schema = self._schema
* parser._events_to_collect = self._events_to_collect # <<<<<<<<<<<<<<
__pyx_v_parser->_events_to_collect = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":962
+ /* "src/lxml/parser.pxi":973
* parser._schema = self._schema
* parser._events_to_collect = self._events_to_collect
* return parser # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_parser;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":946
+ /* "src/lxml/parser.pxi":957
* self._class_lookup = lookup
*
* cdef _BaseParser _copy(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":964
+/* "src/lxml/parser.pxi":975
* return parser
*
* def copy(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("copy", 0);
- /* "src/lxml/parser.pxi":969
+ /* "src/lxml/parser.pxi":980
* Create a new parser with the same configuration.
* """
* return self._copy() # <<<<<<<<<<<<<<
* def makeelement(self, _tag, attrib=None, nsmap=None, **_extra):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_copy(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_copy(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":964
+ /* "src/lxml/parser.pxi":975
* return parser
*
* def copy(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":971
+/* "src/lxml/parser.pxi":982
* return self._copy()
*
* def makeelement(self, _tag, attrib=None, nsmap=None, **_extra): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v__extra, values, pos_args, "makeelement") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v__extra, values, pos_args, "makeelement") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("makeelement", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("makeelement", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v__extra); __pyx_v__extra = 0;
__Pyx_AddTraceback("lxml.etree._BaseParser.makeelement", __pyx_clineno, __pyx_lineno, __pyx_filename);
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("makeelement", 0);
- /* "src/lxml/parser.pxi":976
+ /* "src/lxml/parser.pxi":987
* Creates a new element associated with this parser.
* """
* return _makeElement(_tag, NULL, None, self, None, None, # <<<<<<<<<<<<<<
*/
__Pyx_XDECREF(__pyx_r);
- /* "src/lxml/parser.pxi":977
+ /* "src/lxml/parser.pxi":988
* """
* return _makeElement(_tag, NULL, None, self, None, None,
* attrib, nsmap, _extra) # <<<<<<<<<<<<<<
*
* # internal parser methods
*/
- __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree__makeElement(__pyx_v__tag, NULL, ((struct LxmlDocument *)Py_None), __pyx_v_self, Py_None, Py_None, __pyx_v_attrib, __pyx_v_nsmap, __pyx_v__extra)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree__makeElement(__pyx_v__tag, NULL, ((struct LxmlDocument *)Py_None), __pyx_v_self, Py_None, Py_None, __pyx_v_attrib, __pyx_v_nsmap, __pyx_v__extra)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":971
+ /* "src/lxml/parser.pxi":982
* return self._copy()
*
* def makeelement(self, _tag, attrib=None, nsmap=None, **_extra): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":981
+/* "src/lxml/parser.pxi":992
* # internal parser methods
*
* cdef xmlDoc* _parseUnicodeDoc(self, utext, char* c_filename) except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_parseUnicodeDoc", 0);
- /* "src/lxml/parser.pxi":990
+ /* "src/lxml/parser.pxi":1001
* cdef int buffer_len, c_kind
* cdef const_char* c_text
* cdef const_char* c_encoding = _UNICODE_ENCODING # <<<<<<<<<<<<<<
*/
__pyx_v_c_encoding = __pyx_v_4lxml_5etree__UNICODE_ENCODING;
- /* "src/lxml/parser.pxi":992
+ /* "src/lxml/parser.pxi":1003
* cdef const_char* c_encoding = _UNICODE_ENCODING
* cdef bint is_pep393_string = (
* python.PEP393_ENABLED and python.PyUnicode_IS_READY(utext)) # <<<<<<<<<<<<<<
__pyx_L3_bool_binop_done:;
__pyx_v_is_pep393_string = __pyx_t_1;
- /* "src/lxml/parser.pxi":993
+ /* "src/lxml/parser.pxi":1004
* cdef bint is_pep393_string = (
* python.PEP393_ENABLED and python.PyUnicode_IS_READY(utext))
* if is_pep393_string: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_is_pep393_string != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":994
+ /* "src/lxml/parser.pxi":1005
* python.PEP393_ENABLED and python.PyUnicode_IS_READY(utext))
* if is_pep393_string:
* c_text = <const_char*>python.PyUnicode_DATA(utext) # <<<<<<<<<<<<<<
*/
__pyx_v_c_text = ((const char *)PyUnicode_DATA(__pyx_v_utext));
- /* "src/lxml/parser.pxi":995
+ /* "src/lxml/parser.pxi":1006
* if is_pep393_string:
* c_text = <const_char*>python.PyUnicode_DATA(utext)
* py_buffer_len = python.PyUnicode_GET_LENGTH(utext) # <<<<<<<<<<<<<<
*/
__pyx_v_py_buffer_len = PyUnicode_GET_LENGTH(__pyx_v_utext);
- /* "src/lxml/parser.pxi":996
+ /* "src/lxml/parser.pxi":1007
* c_text = <const_char*>python.PyUnicode_DATA(utext)
* py_buffer_len = python.PyUnicode_GET_LENGTH(utext)
* c_kind = python.PyUnicode_KIND(utext) # <<<<<<<<<<<<<<
*/
__pyx_v_c_kind = PyUnicode_KIND(__pyx_v_utext);
- /* "src/lxml/parser.pxi":997
+ /* "src/lxml/parser.pxi":1008
* py_buffer_len = python.PyUnicode_GET_LENGTH(utext)
* c_kind = python.PyUnicode_KIND(utext)
* if c_kind == 1: # <<<<<<<<<<<<<<
switch (__pyx_v_c_kind) {
case 1:
- /* "src/lxml/parser.pxi":998
+ /* "src/lxml/parser.pxi":1009
* c_kind = python.PyUnicode_KIND(utext)
* if c_kind == 1:
* c_encoding = 'ISO-8859-1' # <<<<<<<<<<<<<<
*/
__pyx_v_c_encoding = __pyx_k_ISO_8859_1;
- /* "src/lxml/parser.pxi":997
+ /* "src/lxml/parser.pxi":1008
* py_buffer_len = python.PyUnicode_GET_LENGTH(utext)
* c_kind = python.PyUnicode_KIND(utext)
* if c_kind == 1: # <<<<<<<<<<<<<<
*/
break;
- /* "src/lxml/parser.pxi":999
+ /* "src/lxml/parser.pxi":1010
* if c_kind == 1:
* c_encoding = 'ISO-8859-1'
* elif c_kind == 2: # <<<<<<<<<<<<<<
*/
case 2:
- /* "src/lxml/parser.pxi":1000
+ /* "src/lxml/parser.pxi":1011
* c_encoding = 'ISO-8859-1'
* elif c_kind == 2:
* py_buffer_len *= 2 # <<<<<<<<<<<<<<
*/
__pyx_v_py_buffer_len = (__pyx_v_py_buffer_len * 2);
- /* "src/lxml/parser.pxi":1001
+ /* "src/lxml/parser.pxi":1012
* elif c_kind == 2:
* py_buffer_len *= 2
* if python.PY_BIG_ENDIAN: # <<<<<<<<<<<<<<
__pyx_t_1 = (PY_BIG_ENDIAN != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1002
+ /* "src/lxml/parser.pxi":1013
* py_buffer_len *= 2
* if python.PY_BIG_ENDIAN:
* c_encoding = 'UTF-16BE' # actually UCS-2 # <<<<<<<<<<<<<<
*/
__pyx_v_c_encoding = __pyx_k_UTF_16BE;
- /* "src/lxml/parser.pxi":1001
+ /* "src/lxml/parser.pxi":1012
* elif c_kind == 2:
* py_buffer_len *= 2
* if python.PY_BIG_ENDIAN: # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/parser.pxi":1004
+ /* "src/lxml/parser.pxi":1015
* c_encoding = 'UTF-16BE' # actually UCS-2
* else:
* c_encoding = 'UTF-16LE' # actually UCS-2 # <<<<<<<<<<<<<<
}
__pyx_L6:;
- /* "src/lxml/parser.pxi":999
+ /* "src/lxml/parser.pxi":1010
* if c_kind == 1:
* c_encoding = 'ISO-8859-1'
* elif c_kind == 2: # <<<<<<<<<<<<<<
*/
break;
- /* "src/lxml/parser.pxi":1005
+ /* "src/lxml/parser.pxi":1016
* else:
* c_encoding = 'UTF-16LE' # actually UCS-2
* elif c_kind == 4: # <<<<<<<<<<<<<<
*/
case 4:
- /* "src/lxml/parser.pxi":1006
+ /* "src/lxml/parser.pxi":1017
* c_encoding = 'UTF-16LE' # actually UCS-2
* elif c_kind == 4:
* py_buffer_len *= 4 # <<<<<<<<<<<<<<
*/
__pyx_v_py_buffer_len = (__pyx_v_py_buffer_len * 4);
- /* "src/lxml/parser.pxi":1007
+ /* "src/lxml/parser.pxi":1018
* elif c_kind == 4:
* py_buffer_len *= 4
* if python.PY_BIG_ENDIAN: # <<<<<<<<<<<<<<
__pyx_t_1 = (PY_BIG_ENDIAN != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1008
+ /* "src/lxml/parser.pxi":1019
* py_buffer_len *= 4
* if python.PY_BIG_ENDIAN:
* c_encoding = 'UCS-4BE' # <<<<<<<<<<<<<<
*/
__pyx_v_c_encoding = __pyx_k_UCS_4BE;
- /* "src/lxml/parser.pxi":1007
+ /* "src/lxml/parser.pxi":1018
* elif c_kind == 4:
* py_buffer_len *= 4
* if python.PY_BIG_ENDIAN: # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/parser.pxi":1010
+ /* "src/lxml/parser.pxi":1021
* c_encoding = 'UCS-4BE'
* else:
* c_encoding = 'UCS-4LE' # <<<<<<<<<<<<<<
}
__pyx_L7:;
- /* "src/lxml/parser.pxi":1005
+ /* "src/lxml/parser.pxi":1016
* else:
* c_encoding = 'UTF-16LE' # actually UCS-2
* elif c_kind == 4: # <<<<<<<<<<<<<<
break;
default:
- /* "src/lxml/parser.pxi":1012
+ /* "src/lxml/parser.pxi":1023
* c_encoding = 'UCS-4LE'
* else:
* assert False, "Illegal Unicode kind %d" % c_kind # <<<<<<<<<<<<<<
#ifndef CYTHON_WITHOUT_ASSERTIONS
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!0)) {
- __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_c_kind); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_c_kind); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Illegal_Unicode_kind_d, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Illegal_Unicode_kind_d, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
PyErr_SetObject(PyExc_AssertionError, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
break;
}
- /* "src/lxml/parser.pxi":993
+ /* "src/lxml/parser.pxi":1004
* cdef bint is_pep393_string = (
* python.PEP393_ENABLED and python.PyUnicode_IS_READY(utext))
* if is_pep393_string: # <<<<<<<<<<<<<<
goto __pyx_L5;
}
- /* "src/lxml/parser.pxi":1014
+ /* "src/lxml/parser.pxi":1025
* assert False, "Illegal Unicode kind %d" % c_kind
* else:
* py_buffer_len = python.PyUnicode_GET_DATA_SIZE(utext) # <<<<<<<<<<<<<<
/*else*/ {
__pyx_v_py_buffer_len = PyUnicode_GET_DATA_SIZE(__pyx_v_utext);
- /* "src/lxml/parser.pxi":1015
+ /* "src/lxml/parser.pxi":1026
* else:
* py_buffer_len = python.PyUnicode_GET_DATA_SIZE(utext)
* c_text = python.PyUnicode_AS_DATA(utext) # <<<<<<<<<<<<<<
}
__pyx_L5:;
- /* "src/lxml/parser.pxi":1016
+ /* "src/lxml/parser.pxi":1027
* py_buffer_len = python.PyUnicode_GET_DATA_SIZE(utext)
* c_text = python.PyUnicode_AS_DATA(utext)
* assert py_buffer_len <= limits.INT_MAX # <<<<<<<<<<<<<<
if (unlikely(!Py_OptimizeFlag)) {
if (unlikely(!((__pyx_v_py_buffer_len <= INT_MAX) != 0))) {
PyErr_SetNone(PyExc_AssertionError);
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
}
#endif
- /* "src/lxml/parser.pxi":1017
+ /* "src/lxml/parser.pxi":1028
* c_text = python.PyUnicode_AS_DATA(utext)
* assert py_buffer_len <= limits.INT_MAX
* buffer_len = py_buffer_len # <<<<<<<<<<<<<<
*/
__pyx_v_buffer_len = __pyx_v_py_buffer_len;
- /* "src/lxml/parser.pxi":1019
+ /* "src/lxml/parser.pxi":1030
* buffer_len = py_buffer_len
*
* context = self._getParserContext() # <<<<<<<<<<<<<<
* context.prepare()
* try:
*/
- __pyx_t_4 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":1020
+ /* "src/lxml/parser.pxi":1031
*
* context = self._getParserContext()
* context.prepare() # <<<<<<<<<<<<<<
* try:
* pctxt = context._c_ctxt
*/
- __pyx_t_5 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1021
+ /* "src/lxml/parser.pxi":1032
* context = self._getParserContext()
* context.prepare()
* try: # <<<<<<<<<<<<<<
*/
/*try:*/ {
- /* "src/lxml/parser.pxi":1022
+ /* "src/lxml/parser.pxi":1033
* context.prepare()
* try:
* pctxt = context._c_ctxt # <<<<<<<<<<<<<<
__pyx_t_6 = __pyx_v_context->_c_ctxt;
__pyx_v_pctxt = __pyx_t_6;
- /* "src/lxml/parser.pxi":1023
+ /* "src/lxml/parser.pxi":1034
* try:
* pctxt = context._c_ctxt
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initParserDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_pctxt);
- /* "src/lxml/parser.pxi":1024
+ /* "src/lxml/parser.pxi":1035
* pctxt = context._c_ctxt
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
* orig_options = pctxt.options # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_v_pctxt->options;
__pyx_v_orig_options = __pyx_t_5;
- /* "src/lxml/parser.pxi":1025
+ /* "src/lxml/parser.pxi":1036
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
* orig_options = pctxt.options
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":1026
+ /* "src/lxml/parser.pxi":1037
* orig_options = pctxt.options
* with nogil:
* if self._for_html: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_self->_for_html != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1027
+ /* "src/lxml/parser.pxi":1038
* with nogil:
* if self._for_html:
* result = htmlparser.htmlCtxtReadMemory( # <<<<<<<<<<<<<<
*/
__pyx_v_result = htmlCtxtReadMemory(__pyx_v_pctxt, __pyx_v_c_text, __pyx_v_buffer_len, __pyx_v_c_filename, __pyx_v_c_encoding, __pyx_v_self->_parse_options);
- /* "src/lxml/parser.pxi":1030
+ /* "src/lxml/parser.pxi":1041
* pctxt, c_text, buffer_len, c_filename, c_encoding,
* self._parse_options)
* if result is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1031
+ /* "src/lxml/parser.pxi":1042
* self._parse_options)
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_f_4lxml_5etree__fixHtmlDictNames(__pyx_v_pctxt->dict, __pyx_v_result) < 0) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1032
+ /* "src/lxml/parser.pxi":1043
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0:
* tree.xmlFreeDoc(result) # <<<<<<<<<<<<<<
*/
xmlFreeDoc(__pyx_v_result);
- /* "src/lxml/parser.pxi":1033
+ /* "src/lxml/parser.pxi":1044
* if _fixHtmlDictNames(pctxt.dict, result) < 0:
* tree.xmlFreeDoc(result)
* result = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_result = NULL;
- /* "src/lxml/parser.pxi":1031
+ /* "src/lxml/parser.pxi":1042
* self._parse_options)
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1030
+ /* "src/lxml/parser.pxi":1041
* pctxt, c_text, buffer_len, c_filename, c_encoding,
* self._parse_options)
* if result is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1026
+ /* "src/lxml/parser.pxi":1037
* orig_options = pctxt.options
* with nogil:
* if self._for_html: # <<<<<<<<<<<<<<
goto __pyx_L14;
}
- /* "src/lxml/parser.pxi":1035
+ /* "src/lxml/parser.pxi":1046
* result = NULL
* else:
* result = xmlparser.xmlCtxtReadMemory( # <<<<<<<<<<<<<<
*/
/*else*/ {
- /* "src/lxml/parser.pxi":1037
+ /* "src/lxml/parser.pxi":1048
* result = xmlparser.xmlCtxtReadMemory(
* pctxt, c_text, buffer_len, c_filename, c_encoding,
* self._parse_options) # <<<<<<<<<<<<<<
__pyx_L14:;
}
- /* "src/lxml/parser.pxi":1025
+ /* "src/lxml/parser.pxi":1036
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
* orig_options = pctxt.options
* with nogil: # <<<<<<<<<<<<<<
}
}
- /* "src/lxml/parser.pxi":1038
+ /* "src/lxml/parser.pxi":1049
* pctxt, c_text, buffer_len, c_filename, c_encoding,
* self._parse_options)
* pctxt.options = orig_options # work around libxml2 problem # <<<<<<<<<<<<<<
*/
__pyx_v_pctxt->options = __pyx_v_orig_options;
- /* "src/lxml/parser.pxi":1040
+ /* "src/lxml/parser.pxi":1051
* pctxt.options = orig_options # work around libxml2 problem
*
* return context._handleParseResultDoc(self, result, None) # <<<<<<<<<<<<<<
* finally:
* context.cleanup()
*/
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_context, __pyx_v_self, __pyx_v_result, Py_None); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_context, __pyx_v_self, __pyx_v_result, Py_None); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
__pyx_r = __pyx_t_7;
goto __pyx_L8_return;
}
- /* "src/lxml/parser.pxi":1042
+ /* "src/lxml/parser.pxi":1053
* return context._handleParseResultDoc(self, result, None)
* finally:
* context.cleanup() # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_15);
__pyx_t_5 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename;
{
- __pyx_t_16 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_16 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L18_error;}
+ __pyx_t_16 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_16 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L18_error;}
}
if (PY_MAJOR_VERSION >= 3) {
__Pyx_XGIVEREF(__pyx_t_13);
}
__pyx_L8_return: {
__pyx_t_7 = __pyx_r;
- __pyx_t_8 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_7;
goto __pyx_L0;
}
}
- /* "src/lxml/parser.pxi":981
+ /* "src/lxml/parser.pxi":992
* # internal parser methods
*
* cdef xmlDoc* _parseUnicodeDoc(self, utext, char* c_filename) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1044
+/* "src/lxml/parser.pxi":1055
* context.cleanup()
*
* cdef xmlDoc* _parseDoc(self, char* c_text, int c_len, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_parseDoc", 0);
- /* "src/lxml/parser.pxi":1052
+ /* "src/lxml/parser.pxi":1063
* cdef xmlparser.xmlParserCtxt* pctxt
* cdef char* c_encoding
* context = self._getParserContext() # <<<<<<<<<<<<<<
* context.prepare()
* try:
*/
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1053
+ /* "src/lxml/parser.pxi":1064
* cdef char* c_encoding
* context = self._getParserContext()
* context.prepare() # <<<<<<<<<<<<<<
* try:
* pctxt = context._c_ctxt
*/
- __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1054
+ /* "src/lxml/parser.pxi":1065
* context = self._getParserContext()
* context.prepare()
* try: # <<<<<<<<<<<<<<
*/
/*try:*/ {
- /* "src/lxml/parser.pxi":1055
+ /* "src/lxml/parser.pxi":1066
* context.prepare()
* try:
* pctxt = context._c_ctxt # <<<<<<<<<<<<<<
__pyx_t_3 = __pyx_v_context->_c_ctxt;
__pyx_v_pctxt = __pyx_t_3;
- /* "src/lxml/parser.pxi":1056
+ /* "src/lxml/parser.pxi":1067
* try:
* pctxt = context._c_ctxt
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initParserDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_pctxt);
- /* "src/lxml/parser.pxi":1058
+ /* "src/lxml/parser.pxi":1069
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
*
* if self._default_encoding is None: # <<<<<<<<<<<<<<
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1059
+ /* "src/lxml/parser.pxi":1070
*
* if self._default_encoding is None:
* c_encoding = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_c_encoding = NULL;
- /* "src/lxml/parser.pxi":1058
+ /* "src/lxml/parser.pxi":1069
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
*
* if self._default_encoding is None: # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/parser.pxi":1061
+ /* "src/lxml/parser.pxi":1072
* c_encoding = NULL
* else:
* c_encoding = _cstr(self._default_encoding) # <<<<<<<<<<<<<<
}
__pyx_L6:;
- /* "src/lxml/parser.pxi":1063
+ /* "src/lxml/parser.pxi":1074
* c_encoding = _cstr(self._default_encoding)
*
* orig_options = pctxt.options # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_v_pctxt->options;
__pyx_v_orig_options = __pyx_t_2;
- /* "src/lxml/parser.pxi":1064
+ /* "src/lxml/parser.pxi":1075
*
* orig_options = pctxt.options
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":1065
+ /* "src/lxml/parser.pxi":1076
* orig_options = pctxt.options
* with nogil:
* if self._for_html: # <<<<<<<<<<<<<<
__pyx_t_5 = (__pyx_v_self->_for_html != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1066
+ /* "src/lxml/parser.pxi":1077
* with nogil:
* if self._for_html:
* result = htmlparser.htmlCtxtReadMemory( # <<<<<<<<<<<<<<
*/
__pyx_v_result = htmlCtxtReadMemory(__pyx_v_pctxt, __pyx_v_c_text, __pyx_v_c_len, __pyx_v_c_filename, __pyx_v_c_encoding, __pyx_v_self->_parse_options);
- /* "src/lxml/parser.pxi":1069
+ /* "src/lxml/parser.pxi":1080
* pctxt, c_text, c_len, c_filename,
* c_encoding, self._parse_options)
* if result is not NULL: # <<<<<<<<<<<<<<
__pyx_t_5 = ((__pyx_v_result != NULL) != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1070
+ /* "src/lxml/parser.pxi":1081
* c_encoding, self._parse_options)
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0: # <<<<<<<<<<<<<<
__pyx_t_5 = ((__pyx_f_4lxml_5etree__fixHtmlDictNames(__pyx_v_pctxt->dict, __pyx_v_result) < 0) != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1071
+ /* "src/lxml/parser.pxi":1082
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0:
* tree.xmlFreeDoc(result) # <<<<<<<<<<<<<<
*/
xmlFreeDoc(__pyx_v_result);
- /* "src/lxml/parser.pxi":1072
+ /* "src/lxml/parser.pxi":1083
* if _fixHtmlDictNames(pctxt.dict, result) < 0:
* tree.xmlFreeDoc(result)
* result = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_result = NULL;
- /* "src/lxml/parser.pxi":1070
+ /* "src/lxml/parser.pxi":1081
* c_encoding, self._parse_options)
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1069
+ /* "src/lxml/parser.pxi":1080
* pctxt, c_text, c_len, c_filename,
* c_encoding, self._parse_options)
* if result is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1065
+ /* "src/lxml/parser.pxi":1076
* orig_options = pctxt.options
* with nogil:
* if self._for_html: # <<<<<<<<<<<<<<
goto __pyx_L10;
}
- /* "src/lxml/parser.pxi":1074
+ /* "src/lxml/parser.pxi":1085
* result = NULL
* else:
* result = xmlparser.xmlCtxtReadMemory( # <<<<<<<<<<<<<<
*/
/*else*/ {
- /* "src/lxml/parser.pxi":1076
+ /* "src/lxml/parser.pxi":1087
* result = xmlparser.xmlCtxtReadMemory(
* pctxt, c_text, c_len, c_filename,
* c_encoding, self._parse_options) # <<<<<<<<<<<<<<
__pyx_L10:;
}
- /* "src/lxml/parser.pxi":1064
+ /* "src/lxml/parser.pxi":1075
*
* orig_options = pctxt.options
* with nogil: # <<<<<<<<<<<<<<
}
}
- /* "src/lxml/parser.pxi":1077
+ /* "src/lxml/parser.pxi":1088
* pctxt, c_text, c_len, c_filename,
* c_encoding, self._parse_options)
* pctxt.options = orig_options # work around libxml2 problem # <<<<<<<<<<<<<<
*/
__pyx_v_pctxt->options = __pyx_v_orig_options;
- /* "src/lxml/parser.pxi":1079
+ /* "src/lxml/parser.pxi":1090
* pctxt.options = orig_options # work around libxml2 problem
*
* return context._handleParseResultDoc(self, result, None) # <<<<<<<<<<<<<<
* finally:
* context.cleanup()
*/
- __pyx_t_6 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_context, __pyx_v_self, __pyx_v_result, Py_None); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
+ __pyx_t_6 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_context, __pyx_v_self, __pyx_v_result, Py_None); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
__pyx_r = __pyx_t_6;
goto __pyx_L3_return;
}
- /* "src/lxml/parser.pxi":1081
+ /* "src/lxml/parser.pxi":1092
* return context._handleParseResultDoc(self, result, None)
* finally:
* context.cleanup() # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_14);
__pyx_t_2 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename;
{
- __pyx_t_15 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L14_error;}
+ __pyx_t_15 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L14_error;}
}
if (PY_MAJOR_VERSION >= 3) {
__Pyx_XGIVEREF(__pyx_t_12);
}
__pyx_L3_return: {
__pyx_t_6 = __pyx_r;
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_6;
goto __pyx_L0;
}
}
- /* "src/lxml/parser.pxi":1044
+ /* "src/lxml/parser.pxi":1055
* context.cleanup()
*
* cdef xmlDoc* _parseDoc(self, char* c_text, int c_len, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1083
+/* "src/lxml/parser.pxi":1094
* context.cleanup()
*
* cdef xmlDoc* _parseDocFromFile(self, char* c_filename) except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_parseDocFromFile", 0);
- /* "src/lxml/parser.pxi":1088
+ /* "src/lxml/parser.pxi":1099
* cdef xmlparser.xmlParserCtxt* pctxt
* cdef char* c_encoding
* result = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_result = NULL;
- /* "src/lxml/parser.pxi":1090
+ /* "src/lxml/parser.pxi":1101
* result = NULL
*
* context = self._getParserContext() # <<<<<<<<<<<<<<
* context.prepare()
* try:
*/
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1091
+ /* "src/lxml/parser.pxi":1102
*
* context = self._getParserContext()
* context.prepare() # <<<<<<<<<<<<<<
* try:
* pctxt = context._c_ctxt
*/
- __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1092
+ /* "src/lxml/parser.pxi":1103
* context = self._getParserContext()
* context.prepare()
* try: # <<<<<<<<<<<<<<
*/
/*try:*/ {
- /* "src/lxml/parser.pxi":1093
+ /* "src/lxml/parser.pxi":1104
* context.prepare()
* try:
* pctxt = context._c_ctxt # <<<<<<<<<<<<<<
__pyx_t_3 = __pyx_v_context->_c_ctxt;
__pyx_v_pctxt = __pyx_t_3;
- /* "src/lxml/parser.pxi":1094
+ /* "src/lxml/parser.pxi":1105
* try:
* pctxt = context._c_ctxt
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initParserDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_pctxt);
- /* "src/lxml/parser.pxi":1096
+ /* "src/lxml/parser.pxi":1107
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
*
* if self._default_encoding is None: # <<<<<<<<<<<<<<
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1097
+ /* "src/lxml/parser.pxi":1108
*
* if self._default_encoding is None:
* c_encoding = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_c_encoding = NULL;
- /* "src/lxml/parser.pxi":1096
+ /* "src/lxml/parser.pxi":1107
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
*
* if self._default_encoding is None: # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/parser.pxi":1099
+ /* "src/lxml/parser.pxi":1110
* c_encoding = NULL
* else:
* c_encoding = _cstr(self._default_encoding) # <<<<<<<<<<<<<<
}
__pyx_L6:;
- /* "src/lxml/parser.pxi":1101
+ /* "src/lxml/parser.pxi":1112
* c_encoding = _cstr(self._default_encoding)
*
* orig_options = pctxt.options # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_v_pctxt->options;
__pyx_v_orig_options = __pyx_t_2;
- /* "src/lxml/parser.pxi":1102
+ /* "src/lxml/parser.pxi":1113
*
* orig_options = pctxt.options
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":1103
+ /* "src/lxml/parser.pxi":1114
* orig_options = pctxt.options
* with nogil:
* if self._for_html: # <<<<<<<<<<<<<<
__pyx_t_5 = (__pyx_v_self->_for_html != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1104
+ /* "src/lxml/parser.pxi":1115
* with nogil:
* if self._for_html:
* result = htmlparser.htmlCtxtReadFile( # <<<<<<<<<<<<<<
*/
__pyx_v_result = htmlCtxtReadFile(__pyx_v_pctxt, __pyx_v_c_filename, __pyx_v_c_encoding, __pyx_v_self->_parse_options);
- /* "src/lxml/parser.pxi":1106
+ /* "src/lxml/parser.pxi":1117
* result = htmlparser.htmlCtxtReadFile(
* pctxt, c_filename, c_encoding, self._parse_options)
* if result is not NULL: # <<<<<<<<<<<<<<
__pyx_t_5 = ((__pyx_v_result != NULL) != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1107
+ /* "src/lxml/parser.pxi":1118
* pctxt, c_filename, c_encoding, self._parse_options)
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0: # <<<<<<<<<<<<<<
__pyx_t_5 = ((__pyx_f_4lxml_5etree__fixHtmlDictNames(__pyx_v_pctxt->dict, __pyx_v_result) < 0) != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1108
+ /* "src/lxml/parser.pxi":1119
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0:
* tree.xmlFreeDoc(result) # <<<<<<<<<<<<<<
*/
xmlFreeDoc(__pyx_v_result);
- /* "src/lxml/parser.pxi":1109
+ /* "src/lxml/parser.pxi":1120
* if _fixHtmlDictNames(pctxt.dict, result) < 0:
* tree.xmlFreeDoc(result)
* result = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_result = NULL;
- /* "src/lxml/parser.pxi":1107
+ /* "src/lxml/parser.pxi":1118
* pctxt, c_filename, c_encoding, self._parse_options)
* if result is not NULL:
* if _fixHtmlDictNames(pctxt.dict, result) < 0: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1106
+ /* "src/lxml/parser.pxi":1117
* result = htmlparser.htmlCtxtReadFile(
* pctxt, c_filename, c_encoding, self._parse_options)
* if result is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1103
+ /* "src/lxml/parser.pxi":1114
* orig_options = pctxt.options
* with nogil:
* if self._for_html: # <<<<<<<<<<<<<<
goto __pyx_L10;
}
- /* "src/lxml/parser.pxi":1111
+ /* "src/lxml/parser.pxi":1122
* result = NULL
* else:
* result = xmlparser.xmlCtxtReadFile( # <<<<<<<<<<<<<<
*/
/*else*/ {
- /* "src/lxml/parser.pxi":1112
+ /* "src/lxml/parser.pxi":1123
* else:
* result = xmlparser.xmlCtxtReadFile(
* pctxt, c_filename, c_encoding, self._parse_options) # <<<<<<<<<<<<<<
__pyx_L10:;
}
- /* "src/lxml/parser.pxi":1102
+ /* "src/lxml/parser.pxi":1113
*
* orig_options = pctxt.options
* with nogil: # <<<<<<<<<<<<<<
}
}
- /* "src/lxml/parser.pxi":1113
+ /* "src/lxml/parser.pxi":1124
* result = xmlparser.xmlCtxtReadFile(
* pctxt, c_filename, c_encoding, self._parse_options)
* pctxt.options = orig_options # work around libxml2 problem # <<<<<<<<<<<<<<
*/
__pyx_v_pctxt->options = __pyx_v_orig_options;
- /* "src/lxml/parser.pxi":1115
+ /* "src/lxml/parser.pxi":1126
* pctxt.options = orig_options # work around libxml2 problem
*
* return context._handleParseResultDoc(self, result, c_filename) # <<<<<<<<<<<<<<
* finally:
* context.cleanup()
*/
- __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_c_filename); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_c_filename); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_context, __pyx_v_self, __pyx_v_result, __pyx_t_1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
+ __pyx_t_6 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_context, __pyx_v_self, __pyx_v_result, __pyx_t_1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_6;
goto __pyx_L3_return;
}
- /* "src/lxml/parser.pxi":1117
+ /* "src/lxml/parser.pxi":1128
* return context._handleParseResultDoc(self, result, c_filename)
* finally:
* context.cleanup() # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_14);
__pyx_t_2 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename;
{
- __pyx_t_15 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L14_error;}
+ __pyx_t_15 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L14_error;}
}
if (PY_MAJOR_VERSION >= 3) {
__Pyx_XGIVEREF(__pyx_t_12);
}
__pyx_L3_return: {
__pyx_t_6 = __pyx_r;
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_6;
goto __pyx_L0;
}
}
- /* "src/lxml/parser.pxi":1083
+ /* "src/lxml/parser.pxi":1094
* context.cleanup()
*
* cdef xmlDoc* _parseDocFromFile(self, char* c_filename) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1119
+/* "src/lxml/parser.pxi":1130
* context.cleanup()
*
* cdef xmlDoc* _parseDocFromFilelike(self, filelike, filename, # <<<<<<<<<<<<<<
__Pyx_RefNannySetupContext("_parseDocFromFilelike", 0);
__Pyx_INCREF(__pyx_v_filename);
- /* "src/lxml/parser.pxi":1126
+ /* "src/lxml/parser.pxi":1137
* cdef xmlparser.xmlParserCtxt* pctxt
* cdef char* c_filename
* if not filename: # <<<<<<<<<<<<<<
* filename = None
*
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_filename); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_filename); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1127
+ /* "src/lxml/parser.pxi":1138
* cdef char* c_filename
* if not filename:
* filename = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__Pyx_DECREF_SET(__pyx_v_filename, Py_None);
- /* "src/lxml/parser.pxi":1126
+ /* "src/lxml/parser.pxi":1137
* cdef xmlparser.xmlParserCtxt* pctxt
* cdef char* c_filename
* if not filename: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1129
+ /* "src/lxml/parser.pxi":1140
* filename = None
*
* context = self._getParserContext() # <<<<<<<<<<<<<<
* context.prepare()
* try:
*/
- __pyx_t_3 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)__pyx_v_self->__pyx_vtab)->_getParserContext(__pyx_v_self)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1130
+ /* "src/lxml/parser.pxi":1141
*
* context = self._getParserContext()
* context.prepare() # <<<<<<<<<<<<<<
* try:
* pctxt = context._c_ctxt
*/
- __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1131
+ /* "src/lxml/parser.pxi":1142
* context = self._getParserContext()
* context.prepare()
* try: # <<<<<<<<<<<<<<
*/
/*try:*/ {
- /* "src/lxml/parser.pxi":1132
+ /* "src/lxml/parser.pxi":1143
* context.prepare()
* try:
* pctxt = context._c_ctxt # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_v_context->_c_ctxt;
__pyx_v_pctxt = __pyx_t_5;
- /* "src/lxml/parser.pxi":1133
+ /* "src/lxml/parser.pxi":1144
* try:
* pctxt = context._c_ctxt
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initParserDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_pctxt);
- /* "src/lxml/parser.pxi":1136
+ /* "src/lxml/parser.pxi":1147
* file_context = _FileReaderContext(
* filelike, context, filename,
* encoding or self._default_encoding) # <<<<<<<<<<<<<<
* result = file_context._readDoc(pctxt, self._parse_options)
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_encoding); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_encoding); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
if (!__pyx_t_2) {
} else {
__Pyx_INCREF(__pyx_v_encoding);
__pyx_t_3 = __pyx_v_self->_default_encoding;
__pyx_L7_bool_binop_done:;
- /* "src/lxml/parser.pxi":1134
+ /* "src/lxml/parser.pxi":1145
* pctxt = context._c_ctxt
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
* file_context = _FileReaderContext( # <<<<<<<<<<<<<<
* filelike, context, filename,
* encoding or self._default_encoding)
*/
- __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
+ __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_v_filelike);
__Pyx_GIVEREF(__pyx_v_filelike);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__FileReaderContext), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__FileReaderContext), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_file_context = ((struct __pyx_obj_4lxml_5etree__FileReaderContext *)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1137
+ /* "src/lxml/parser.pxi":1148
* filelike, context, filename,
* encoding or self._default_encoding)
* result = file_context._readDoc(pctxt, self._parse_options) # <<<<<<<<<<<<<<
*/
__pyx_v_result = __pyx_f_4lxml_5etree_18_FileReaderContext__readDoc(__pyx_v_file_context, __pyx_v_pctxt, __pyx_v_self->_parse_options);
- /* "src/lxml/parser.pxi":1139
+ /* "src/lxml/parser.pxi":1150
* result = file_context._readDoc(pctxt, self._parse_options)
*
* return context._handleParseResultDoc( # <<<<<<<<<<<<<<
* self, result, filename)
* finally:
*/
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_context, __pyx_v_self, __pyx_v_result, __pyx_v_filename); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResultDoc(__pyx_v_context, __pyx_v_self, __pyx_v_result, __pyx_v_filename); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
__pyx_r = __pyx_t_7;
goto __pyx_L4_return;
}
- /* "src/lxml/parser.pxi":1142
+ /* "src/lxml/parser.pxi":1153
* self, result, filename)
* finally:
* context.cleanup() # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_15);
__pyx_t_4 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename;
{
- __pyx_t_16 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_16 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
+ __pyx_t_16 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_16 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1153; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
}
if (PY_MAJOR_VERSION >= 3) {
__Pyx_XGIVEREF(__pyx_t_13);
}
__pyx_L4_return: {
__pyx_t_7 = __pyx_r;
- __pyx_t_8 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_7;
goto __pyx_L0;
}
}
- /* "src/lxml/parser.pxi":1119
+ /* "src/lxml/parser.pxi":1130
* context.cleanup()
*
* cdef xmlDoc* _parseDocFromFilelike(self, filelike, filename, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":766
+/* "src/lxml/parser.pxi":777
* cdef XMLSchema _schema
* cdef bytes _filename
* cdef readonly object target # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1145
+/* "src/lxml/parser.pxi":1156
*
*
* cdef void _initSaxDocument(void* ctxt) with gil: # <<<<<<<<<<<<<<
#endif
__Pyx_RefNannySetupContext("_initSaxDocument", 0);
- /* "src/lxml/parser.pxi":1146
+ /* "src/lxml/parser.pxi":1157
*
* cdef void _initSaxDocument(void* ctxt) with gil:
* xmlparser.xmlSAX2StartDocument(ctxt) # <<<<<<<<<<<<<<
*/
xmlSAX2StartDocument(__pyx_v_ctxt);
- /* "src/lxml/parser.pxi":1147
+ /* "src/lxml/parser.pxi":1158
* cdef void _initSaxDocument(void* ctxt) with gil:
* xmlparser.xmlSAX2StartDocument(ctxt)
* c_ctxt = <xmlparser.xmlParserCtxt*>ctxt # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt = ((xmlParserCtxt *)__pyx_v_ctxt);
- /* "src/lxml/parser.pxi":1148
+ /* "src/lxml/parser.pxi":1159
* xmlparser.xmlSAX2StartDocument(ctxt)
* c_ctxt = <xmlparser.xmlParserCtxt*>ctxt
* c_doc = c_ctxt.myDoc # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_v_c_ctxt->myDoc;
__pyx_v_c_doc = __pyx_t_1;
- /* "src/lxml/parser.pxi":1151
+ /* "src/lxml/parser.pxi":1162
*
* # set up document dict
* if c_doc and c_ctxt.dict and not c_doc.dict: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1153
+ /* "src/lxml/parser.pxi":1164
* if c_doc and c_ctxt.dict and not c_doc.dict:
* # I have no idea why libxml2 disables this - we need it
* c_ctxt.dictNames = 1 # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt->dictNames = 1;
- /* "src/lxml/parser.pxi":1154
+ /* "src/lxml/parser.pxi":1165
* # I have no idea why libxml2 disables this - we need it
* c_ctxt.dictNames = 1
* c_doc.dict = c_ctxt.dict # <<<<<<<<<<<<<<
__pyx_t_4 = __pyx_v_c_ctxt->dict;
__pyx_v_c_doc->dict = __pyx_t_4;
- /* "src/lxml/parser.pxi":1155
+ /* "src/lxml/parser.pxi":1166
* c_ctxt.dictNames = 1
* c_doc.dict = c_ctxt.dict
* xmlparser.xmlDictReference(c_ctxt.dict) # <<<<<<<<<<<<<<
*/
xmlDictReference(__pyx_v_c_ctxt->dict);
- /* "src/lxml/parser.pxi":1151
+ /* "src/lxml/parser.pxi":1162
*
* # set up document dict
* if c_doc and c_ctxt.dict and not c_doc.dict: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1158
+ /* "src/lxml/parser.pxi":1169
*
* # set up XML ID hash table
* if c_ctxt._private and not c_ctxt.html: # <<<<<<<<<<<<<<
__pyx_L8_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1159
+ /* "src/lxml/parser.pxi":1170
* # set up XML ID hash table
* if c_ctxt._private and not c_ctxt.html:
* context = <_ParserContext>c_ctxt._private # <<<<<<<<<<<<<<
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/parser.pxi":1160
+ /* "src/lxml/parser.pxi":1171
* if c_ctxt._private and not c_ctxt.html:
* context = <_ParserContext>c_ctxt._private
* if context._collect_ids: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_context->_collect_ids != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1162
+ /* "src/lxml/parser.pxi":1173
* if context._collect_ids:
* # keep the global parser dict from filling up with XML IDs
* if c_doc and not c_doc.ids: # <<<<<<<<<<<<<<
__pyx_L12_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1164
+ /* "src/lxml/parser.pxi":1175
* if c_doc and not c_doc.ids:
* # memory errors are not fatal here
* c_dict = xmlparser.xmlDictCreate() # <<<<<<<<<<<<<<
*/
__pyx_v_c_dict = xmlDictCreate();
- /* "src/lxml/parser.pxi":1165
+ /* "src/lxml/parser.pxi":1176
* # memory errors are not fatal here
* c_dict = xmlparser.xmlDictCreate()
* if c_dict: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_c_dict != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1166
+ /* "src/lxml/parser.pxi":1177
* c_dict = xmlparser.xmlDictCreate()
* if c_dict:
* c_doc.ids = tree.xmlHashCreateDict(0, c_dict) # <<<<<<<<<<<<<<
*/
__pyx_v_c_doc->ids = xmlHashCreateDict(0, __pyx_v_c_dict);
- /* "src/lxml/parser.pxi":1167
+ /* "src/lxml/parser.pxi":1178
* if c_dict:
* c_doc.ids = tree.xmlHashCreateDict(0, c_dict)
* xmlparser.xmlDictFree(c_dict) # <<<<<<<<<<<<<<
*/
xmlDictFree(__pyx_v_c_dict);
- /* "src/lxml/parser.pxi":1165
+ /* "src/lxml/parser.pxi":1176
* # memory errors are not fatal here
* c_dict = xmlparser.xmlDictCreate()
* if c_dict: # <<<<<<<<<<<<<<
goto __pyx_L14;
}
- /* "src/lxml/parser.pxi":1169
+ /* "src/lxml/parser.pxi":1180
* xmlparser.xmlDictFree(c_dict)
* else:
* c_doc.ids = tree.xmlHashCreate(0) # <<<<<<<<<<<<<<
}
__pyx_L14:;
- /* "src/lxml/parser.pxi":1162
+ /* "src/lxml/parser.pxi":1173
* if context._collect_ids:
* # keep the global parser dict from filling up with XML IDs
* if c_doc and not c_doc.ids: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1160
+ /* "src/lxml/parser.pxi":1171
* if c_ctxt._private and not c_ctxt.html:
* context = <_ParserContext>c_ctxt._private
* if context._collect_ids: # <<<<<<<<<<<<<<
goto __pyx_L10;
}
- /* "src/lxml/parser.pxi":1171
+ /* "src/lxml/parser.pxi":1182
* c_doc.ids = tree.xmlHashCreate(0)
* else:
* c_ctxt.loadsubset |= xmlparser.XML_SKIP_IDS # <<<<<<<<<<<<<<
/*else*/ {
__pyx_v_c_ctxt->loadsubset = (__pyx_v_c_ctxt->loadsubset | XML_SKIP_IDS);
- /* "src/lxml/parser.pxi":1172
+ /* "src/lxml/parser.pxi":1183
* else:
* c_ctxt.loadsubset |= xmlparser.XML_SKIP_IDS
* if c_doc and c_doc.ids and not tree.xmlHashSize(c_doc.ids): # <<<<<<<<<<<<<<
__pyx_L16_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1174
+ /* "src/lxml/parser.pxi":1185
* if c_doc and c_doc.ids and not tree.xmlHashSize(c_doc.ids):
* # already initialised but empty => clear
* tree.xmlHashFree(c_doc.ids, NULL) # <<<<<<<<<<<<<<
*/
xmlHashFree(__pyx_v_c_doc->ids, NULL);
- /* "src/lxml/parser.pxi":1175
+ /* "src/lxml/parser.pxi":1186
* # already initialised but empty => clear
* tree.xmlHashFree(c_doc.ids, NULL)
* c_doc.ids = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_c_doc->ids = NULL;
- /* "src/lxml/parser.pxi":1172
+ /* "src/lxml/parser.pxi":1183
* else:
* c_ctxt.loadsubset |= xmlparser.XML_SKIP_IDS
* if c_doc and c_doc.ids and not tree.xmlHashSize(c_doc.ids): # <<<<<<<<<<<<<<
}
__pyx_L10:;
- /* "src/lxml/parser.pxi":1158
+ /* "src/lxml/parser.pxi":1169
*
* # set up XML ID hash table
* if c_ctxt._private and not c_ctxt.html: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1145
+ /* "src/lxml/parser.pxi":1156
*
*
* cdef void _initSaxDocument(void* ctxt) with gil: # <<<<<<<<<<<<<<
#endif
}
-/* "src/lxml/parser.pxi":1191
+/* "src/lxml/parser.pxi":1202
* different from what the ``error_log`` property returns.
* """
* def __get__(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__get__", 0);
- /* "src/lxml/parser.pxi":1192
+ /* "src/lxml/parser.pxi":1203
* """
* def __get__(self):
* return self._getPushParserContext()._error_log.copy() # <<<<<<<<<<<<<<
* cpdef feed(self, data):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__FeedParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__FeedParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__ErrorLog *)((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1)->_error_log->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.copy(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1)->_error_log), 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__ErrorLog *)((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1)->_error_log->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.copy(((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1)->_error_log), 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1191
+ /* "src/lxml/parser.pxi":1202
* different from what the ``error_log`` property returns.
* """
* def __get__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1194
+/* "src/lxml/parser.pxi":1205
* return self._getPushParserContext()._error_log.copy()
*
* cpdef feed(self, data): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_feed); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_feed); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_11_FeedParser_1feed)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (!__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_data); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_data); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
} else {
- __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_INCREF(__pyx_v_data);
__Pyx_GIVEREF(__pyx_v_data);
PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_data);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/parser.pxi":1219
+ /* "src/lxml/parser.pxi":1230
* cdef int buffer_len
* cdef int error
* cdef bint recover = self._parse_options & xmlparser.XML_PARSE_RECOVER # <<<<<<<<<<<<<<
*/
__pyx_v_recover = (__pyx_v_self->__pyx_base._parse_options & XML_PARSE_RECOVER);
- /* "src/lxml/parser.pxi":1220
+ /* "src/lxml/parser.pxi":1231
* cdef int error
* cdef bint recover = self._parse_options & xmlparser.XML_PARSE_RECOVER
* if isinstance(data, bytes): # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1221
+ /* "src/lxml/parser.pxi":1232
* cdef bint recover = self._parse_options & xmlparser.XML_PARSE_RECOVER
* if isinstance(data, bytes):
* if self._default_encoding is None: # <<<<<<<<<<<<<<
__pyx_t_6 = (__pyx_t_7 != 0);
if (__pyx_t_6) {
- /* "src/lxml/parser.pxi":1222
+ /* "src/lxml/parser.pxi":1233
* if isinstance(data, bytes):
* if self._default_encoding is None:
* c_encoding = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_c_encoding = NULL;
- /* "src/lxml/parser.pxi":1221
+ /* "src/lxml/parser.pxi":1232
* cdef bint recover = self._parse_options & xmlparser.XML_PARSE_RECOVER
* if isinstance(data, bytes):
* if self._default_encoding is None: # <<<<<<<<<<<<<<
goto __pyx_L4;
}
- /* "src/lxml/parser.pxi":1224
+ /* "src/lxml/parser.pxi":1235
* c_encoding = NULL
* else:
* c_encoding = self._default_encoding # <<<<<<<<<<<<<<
* py_buffer_len = python.PyBytes_GET_SIZE(data)
*/
/*else*/ {
- __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_self->__pyx_base._default_encoding); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_self->__pyx_base._default_encoding); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_c_encoding = __pyx_t_8;
}
__pyx_L4:;
- /* "src/lxml/parser.pxi":1225
+ /* "src/lxml/parser.pxi":1236
* else:
* c_encoding = self._default_encoding
* c_data = _cstr(data) # <<<<<<<<<<<<<<
*/
__pyx_v_c_data = PyBytes_AS_STRING(__pyx_v_data);
- /* "src/lxml/parser.pxi":1226
+ /* "src/lxml/parser.pxi":1237
* c_encoding = self._default_encoding
* c_data = _cstr(data)
* py_buffer_len = python.PyBytes_GET_SIZE(data) # <<<<<<<<<<<<<<
*/
__pyx_v_py_buffer_len = PyBytes_GET_SIZE(__pyx_v_data);
- /* "src/lxml/parser.pxi":1220
+ /* "src/lxml/parser.pxi":1231
* cdef int error
* cdef bint recover = self._parse_options & xmlparser.XML_PARSE_RECOVER
* if isinstance(data, bytes): # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":1227
+ /* "src/lxml/parser.pxi":1238
* c_data = _cstr(data)
* py_buffer_len = python.PyBytes_GET_SIZE(data)
* elif isinstance(data, unicode): # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1228
+ /* "src/lxml/parser.pxi":1239
* py_buffer_len = python.PyBytes_GET_SIZE(data)
* elif isinstance(data, unicode):
* if _UNICODE_ENCODING is NULL: # <<<<<<<<<<<<<<
__pyx_t_7 = ((__pyx_v_4lxml_5etree__UNICODE_ENCODING == NULL) != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1229
+ /* "src/lxml/parser.pxi":1240
* elif isinstance(data, unicode):
* if _UNICODE_ENCODING is NULL:
* raise ParserError, \ # <<<<<<<<<<<<<<
* u"Unicode parsing is not supported on this platform"
* c_encoding = _UNICODE_ENCODING
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ParserError); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ParserError); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_Raise(__pyx_t_1, __pyx_kp_u_Unicode_parsing_is_not_supported, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1228
+ /* "src/lxml/parser.pxi":1239
* py_buffer_len = python.PyBytes_GET_SIZE(data)
* elif isinstance(data, unicode):
* if _UNICODE_ENCODING is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1231
+ /* "src/lxml/parser.pxi":1242
* raise ParserError, \
* u"Unicode parsing is not supported on this platform"
* c_encoding = _UNICODE_ENCODING # <<<<<<<<<<<<<<
*/
__pyx_v_c_encoding = __pyx_v_4lxml_5etree__UNICODE_ENCODING;
- /* "src/lxml/parser.pxi":1232
+ /* "src/lxml/parser.pxi":1243
* u"Unicode parsing is not supported on this platform"
* c_encoding = _UNICODE_ENCODING
* c_data = python.PyUnicode_AS_DATA(data) # <<<<<<<<<<<<<<
*/
__pyx_v_c_data = PyUnicode_AS_DATA(__pyx_v_data);
- /* "src/lxml/parser.pxi":1233
+ /* "src/lxml/parser.pxi":1244
* c_encoding = _UNICODE_ENCODING
* c_data = python.PyUnicode_AS_DATA(data)
* py_buffer_len = python.PyUnicode_GET_DATA_SIZE(data) # <<<<<<<<<<<<<<
*/
__pyx_v_py_buffer_len = PyUnicode_GET_DATA_SIZE(__pyx_v_data);
- /* "src/lxml/parser.pxi":1227
+ /* "src/lxml/parser.pxi":1238
* c_data = _cstr(data)
* py_buffer_len = python.PyBytes_GET_SIZE(data)
* elif isinstance(data, unicode): # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":1235
+ /* "src/lxml/parser.pxi":1246
* py_buffer_len = python.PyUnicode_GET_DATA_SIZE(data)
* else:
* raise TypeError, u"Parsing requires string data" # <<<<<<<<<<<<<<
*/
/*else*/ {
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_u_Parsing_requires_string_data, 0, 0);
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":1237
+ /* "src/lxml/parser.pxi":1248
* raise TypeError, u"Parsing requires string data"
*
* context = self._getPushParserContext() # <<<<<<<<<<<<<<
* pctxt = context._c_ctxt
* error = 0
*/
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__FeedParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__FeedParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1238
+ /* "src/lxml/parser.pxi":1249
*
* context = self._getPushParserContext()
* pctxt = context._c_ctxt # <<<<<<<<<<<<<<
__pyx_t_9 = __pyx_v_context->_c_ctxt;
__pyx_v_pctxt = __pyx_t_9;
- /* "src/lxml/parser.pxi":1239
+ /* "src/lxml/parser.pxi":1250
* context = self._getPushParserContext()
* pctxt = context._c_ctxt
* error = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_error = 0;
- /* "src/lxml/parser.pxi":1240
+ /* "src/lxml/parser.pxi":1251
* pctxt = context._c_ctxt
* error = 0
* if not self._feed_parser_running: # <<<<<<<<<<<<<<
__pyx_t_7 = ((!(__pyx_v_self->_feed_parser_running != 0)) != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1241
+ /* "src/lxml/parser.pxi":1252
* error = 0
* if not self._feed_parser_running:
* context.prepare() # <<<<<<<<<<<<<<
* self._feed_parser_running = 1
* c_filename = (_cstr(self._filename)
*/
- __pyx_t_10 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->prepare(__pyx_v_context); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1242
+ /* "src/lxml/parser.pxi":1253
* if not self._feed_parser_running:
* context.prepare()
* self._feed_parser_running = 1 # <<<<<<<<<<<<<<
*/
__pyx_v_self->_feed_parser_running = 1;
- /* "src/lxml/parser.pxi":1244
+ /* "src/lxml/parser.pxi":1255
* self._feed_parser_running = 1
* c_filename = (_cstr(self._filename)
* if self._filename is not None else NULL) # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_v_self->__pyx_base._filename != ((PyObject*)Py_None));
if ((__pyx_t_7 != 0)) {
- /* "src/lxml/parser.pxi":1243
+ /* "src/lxml/parser.pxi":1254
* context.prepare()
* self._feed_parser_running = 1
* c_filename = (_cstr(self._filename) # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- /* "src/lxml/parser.pxi":1244
+ /* "src/lxml/parser.pxi":1255
* self._feed_parser_running = 1
* c_filename = (_cstr(self._filename)
* if self._filename is not None else NULL) # <<<<<<<<<<<<<<
}
__pyx_v_c_filename = __pyx_t_11;
- /* "src/lxml/parser.pxi":1250
+ /* "src/lxml/parser.pxi":1261
* # however if we give it all we got, we'll have nothing for
* # *mlParseChunk() and things go wrong.
* buffer_len = 4 if py_buffer_len > 4 else <int>py_buffer_len # <<<<<<<<<<<<<<
}
__pyx_v_buffer_len = __pyx_t_10;
- /* "src/lxml/parser.pxi":1251
+ /* "src/lxml/parser.pxi":1262
* # *mlParseChunk() and things go wrong.
* buffer_len = 4 if py_buffer_len > 4 else <int>py_buffer_len
* if self._for_html: # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_v_self->__pyx_base._for_html != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1252
+ /* "src/lxml/parser.pxi":1263
* buffer_len = 4 if py_buffer_len > 4 else <int>py_buffer_len
* if self._for_html:
* error = _htmlCtxtResetPush( # <<<<<<<<<<<<<<
* pctxt, c_data, buffer_len, c_filename, c_encoding,
* self._parse_options)
*/
- __pyx_t_10 = __pyx_f_4lxml_5etree__htmlCtxtResetPush(__pyx_v_pctxt, __pyx_v_c_data, __pyx_v_buffer_len, __pyx_v_c_filename, __pyx_v_c_encoding, __pyx_v_self->__pyx_base._parse_options); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = __pyx_f_4lxml_5etree__htmlCtxtResetPush(__pyx_v_pctxt, __pyx_v_c_data, __pyx_v_buffer_len, __pyx_v_c_filename, __pyx_v_c_encoding, __pyx_v_self->__pyx_base._parse_options); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_error = __pyx_t_10;
- /* "src/lxml/parser.pxi":1251
+ /* "src/lxml/parser.pxi":1262
* # *mlParseChunk() and things go wrong.
* buffer_len = 4 if py_buffer_len > 4 else <int>py_buffer_len
* if self._for_html: # <<<<<<<<<<<<<<
goto __pyx_L7;
}
- /* "src/lxml/parser.pxi":1256
+ /* "src/lxml/parser.pxi":1267
* self._parse_options)
* else:
* xmlparser.xmlCtxtUseOptions(pctxt, self._parse_options) # <<<<<<<<<<<<<<
/*else*/ {
xmlCtxtUseOptions(__pyx_v_pctxt, __pyx_v_self->__pyx_base._parse_options);
- /* "src/lxml/parser.pxi":1257
+ /* "src/lxml/parser.pxi":1268
* else:
* xmlparser.xmlCtxtUseOptions(pctxt, self._parse_options)
* error = xmlparser.xmlCtxtResetPush( # <<<<<<<<<<<<<<
}
__pyx_L7:;
- /* "src/lxml/parser.pxi":1259
+ /* "src/lxml/parser.pxi":1270
* error = xmlparser.xmlCtxtResetPush(
* pctxt, c_data, buffer_len, c_filename, c_encoding)
* py_buffer_len -= buffer_len # <<<<<<<<<<<<<<
*/
__pyx_v_py_buffer_len = (__pyx_v_py_buffer_len - __pyx_v_buffer_len);
- /* "src/lxml/parser.pxi":1260
+ /* "src/lxml/parser.pxi":1271
* pctxt, c_data, buffer_len, c_filename, c_encoding)
* py_buffer_len -= buffer_len
* c_data += buffer_len # <<<<<<<<<<<<<<
*/
__pyx_v_c_data = (__pyx_v_c_data + __pyx_v_buffer_len);
- /* "src/lxml/parser.pxi":1261
+ /* "src/lxml/parser.pxi":1272
* py_buffer_len -= buffer_len
* c_data += buffer_len
* if error: # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_v_error != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1262
+ /* "src/lxml/parser.pxi":1273
* c_data += buffer_len
* if error:
* raise MemoryError() # <<<<<<<<<<<<<<
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt)
*
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1261
+ /* "src/lxml/parser.pxi":1272
* py_buffer_len -= buffer_len
* c_data += buffer_len
* if error: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1263
+ /* "src/lxml/parser.pxi":1274
* if error:
* raise MemoryError()
* __GLOBAL_PARSER_CONTEXT.initParserDict(pctxt) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initParserDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_pctxt);
- /* "src/lxml/parser.pxi":1240
+ /* "src/lxml/parser.pxi":1251
* pctxt = context._c_ctxt
* error = 0
* if not self._feed_parser_running: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1267
+ /* "src/lxml/parser.pxi":1278
* #print pctxt.charset, 'NONE' if c_encoding is NULL else c_encoding
*
* fixup_error = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_fixup_error = 0;
- /* "src/lxml/parser.pxi":1268
+ /* "src/lxml/parser.pxi":1279
*
* fixup_error = 0
* while py_buffer_len > 0 and (error == 0 or recover): # <<<<<<<<<<<<<<
__pyx_L11_bool_binop_done:;
if (!__pyx_t_7) break;
- /* "src/lxml/parser.pxi":1269
+ /* "src/lxml/parser.pxi":1280
* fixup_error = 0
* while py_buffer_len > 0 and (error == 0 or recover):
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":1270
+ /* "src/lxml/parser.pxi":1281
* while py_buffer_len > 0 and (error == 0 or recover):
* with nogil:
* if py_buffer_len > limits.INT_MAX: # <<<<<<<<<<<<<<
__pyx_t_7 = ((__pyx_v_py_buffer_len > INT_MAX) != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1271
+ /* "src/lxml/parser.pxi":1282
* with nogil:
* if py_buffer_len > limits.INT_MAX:
* buffer_len = limits.INT_MAX # <<<<<<<<<<<<<<
*/
__pyx_v_buffer_len = INT_MAX;
- /* "src/lxml/parser.pxi":1270
+ /* "src/lxml/parser.pxi":1281
* while py_buffer_len > 0 and (error == 0 or recover):
* with nogil:
* if py_buffer_len > limits.INT_MAX: # <<<<<<<<<<<<<<
goto __pyx_L19;
}
- /* "src/lxml/parser.pxi":1273
+ /* "src/lxml/parser.pxi":1284
* buffer_len = limits.INT_MAX
* else:
* buffer_len = <int>py_buffer_len # <<<<<<<<<<<<<<
}
__pyx_L19:;
- /* "src/lxml/parser.pxi":1274
+ /* "src/lxml/parser.pxi":1285
* else:
* buffer_len = <int>py_buffer_len
* if self._for_html: # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_v_self->__pyx_base._for_html != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1275
+ /* "src/lxml/parser.pxi":1286
* buffer_len = <int>py_buffer_len
* if self._for_html:
* c_node = pctxt.node # last node where the parser stopped # <<<<<<<<<<<<<<
__pyx_t_12 = __pyx_v_pctxt->node;
__pyx_v_c_node = __pyx_t_12;
- /* "src/lxml/parser.pxi":1276
+ /* "src/lxml/parser.pxi":1287
* if self._for_html:
* c_node = pctxt.node # last node where the parser stopped
* error = htmlparser.htmlParseChunk(pctxt, c_data, buffer_len, 0) # <<<<<<<<<<<<<<
*/
__pyx_v_error = htmlParseChunk(__pyx_v_pctxt, __pyx_v_c_data, __pyx_v_buffer_len, 0);
- /* "src/lxml/parser.pxi":1278
+ /* "src/lxml/parser.pxi":1289
* error = htmlparser.htmlParseChunk(pctxt, c_data, buffer_len, 0)
* # and now for the fun part: move node names to the dict
* if pctxt.myDoc: # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_v_pctxt->myDoc != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1279
+ /* "src/lxml/parser.pxi":1290
* # and now for the fun part: move node names to the dict
* if pctxt.myDoc:
* fixup_error = _fixHtmlDictSubtreeNames( # <<<<<<<<<<<<<<
*/
__pyx_v_fixup_error = __pyx_f_4lxml_5etree__fixHtmlDictSubtreeNames(__pyx_v_pctxt->dict, __pyx_v_pctxt->myDoc, __pyx_v_c_node);
- /* "src/lxml/parser.pxi":1281
+ /* "src/lxml/parser.pxi":1292
* fixup_error = _fixHtmlDictSubtreeNames(
* pctxt.dict, pctxt.myDoc, c_node)
* if pctxt.myDoc.dict and pctxt.myDoc.dict is not pctxt.dict: # <<<<<<<<<<<<<<
__pyx_L23_bool_binop_done:;
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1282
+ /* "src/lxml/parser.pxi":1293
* pctxt.dict, pctxt.myDoc, c_node)
* if pctxt.myDoc.dict and pctxt.myDoc.dict is not pctxt.dict:
* xmlparser.xmlDictFree(pctxt.myDoc.dict) # <<<<<<<<<<<<<<
*/
xmlDictFree(__pyx_v_pctxt->myDoc->dict);
- /* "src/lxml/parser.pxi":1283
+ /* "src/lxml/parser.pxi":1294
* if pctxt.myDoc.dict and pctxt.myDoc.dict is not pctxt.dict:
* xmlparser.xmlDictFree(pctxt.myDoc.dict)
* pctxt.myDoc.dict = pctxt.dict # <<<<<<<<<<<<<<
__pyx_t_13 = __pyx_v_pctxt->dict;
__pyx_v_pctxt->myDoc->dict = __pyx_t_13;
- /* "src/lxml/parser.pxi":1284
+ /* "src/lxml/parser.pxi":1295
* xmlparser.xmlDictFree(pctxt.myDoc.dict)
* pctxt.myDoc.dict = pctxt.dict
* xmlparser.xmlDictReference(pctxt.dict) # <<<<<<<<<<<<<<
*/
xmlDictReference(__pyx_v_pctxt->dict);
- /* "src/lxml/parser.pxi":1281
+ /* "src/lxml/parser.pxi":1292
* fixup_error = _fixHtmlDictSubtreeNames(
* pctxt.dict, pctxt.myDoc, c_node)
* if pctxt.myDoc.dict and pctxt.myDoc.dict is not pctxt.dict: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1278
+ /* "src/lxml/parser.pxi":1289
* error = htmlparser.htmlParseChunk(pctxt, c_data, buffer_len, 0)
* # and now for the fun part: move node names to the dict
* if pctxt.myDoc: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1274
+ /* "src/lxml/parser.pxi":1285
* else:
* buffer_len = <int>py_buffer_len
* if self._for_html: # <<<<<<<<<<<<<<
goto __pyx_L20;
}
- /* "src/lxml/parser.pxi":1286
+ /* "src/lxml/parser.pxi":1297
* xmlparser.xmlDictReference(pctxt.dict)
* else:
* error = xmlparser.xmlParseChunk(pctxt, c_data, buffer_len, 0) # <<<<<<<<<<<<<<
}
__pyx_L20:;
- /* "src/lxml/parser.pxi":1287
+ /* "src/lxml/parser.pxi":1298
* else:
* error = xmlparser.xmlParseChunk(pctxt, c_data, buffer_len, 0)
* py_buffer_len -= buffer_len # <<<<<<<<<<<<<<
*/
__pyx_v_py_buffer_len = (__pyx_v_py_buffer_len - __pyx_v_buffer_len);
- /* "src/lxml/parser.pxi":1288
+ /* "src/lxml/parser.pxi":1299
* error = xmlparser.xmlParseChunk(pctxt, c_data, buffer_len, 0)
* py_buffer_len -= buffer_len
* c_data += buffer_len # <<<<<<<<<<<<<<
__pyx_v_c_data = (__pyx_v_c_data + __pyx_v_buffer_len);
}
- /* "src/lxml/parser.pxi":1269
+ /* "src/lxml/parser.pxi":1280
* fixup_error = 0
* while py_buffer_len > 0 and (error == 0 or recover):
* with nogil: # <<<<<<<<<<<<<<
}
}
- /* "src/lxml/parser.pxi":1290
+ /* "src/lxml/parser.pxi":1301
* c_data += buffer_len
*
* if fixup_error: # <<<<<<<<<<<<<<
__pyx_t_7 = (__pyx_v_fixup_error != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1291
+ /* "src/lxml/parser.pxi":1302
*
* if fixup_error:
* context.store_exception(MemoryError()) # <<<<<<<<<<<<<<
*
* if context._has_raised():
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_context), __pyx_n_s_store_exception); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_context), __pyx_n_s_store_exception); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_builtin_MemoryError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_builtin_MemoryError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (!__pyx_t_5) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1290
+ /* "src/lxml/parser.pxi":1301
* c_data += buffer_len
*
* if fixup_error: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1293
+ /* "src/lxml/parser.pxi":1304
* context.store_exception(MemoryError())
*
* if context._has_raised(): # <<<<<<<<<<<<<<
__pyx_t_7 = (((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base._has_raised(((struct __pyx_obj_4lxml_5etree__ExceptionContext *)__pyx_v_context)) != 0);
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1295
+ /* "src/lxml/parser.pxi":1306
* if context._has_raised():
* # propagate Python exceptions immediately
* recover = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_recover = 0;
- /* "src/lxml/parser.pxi":1296
+ /* "src/lxml/parser.pxi":1307
* # propagate Python exceptions immediately
* recover = 0
* error = 1 # <<<<<<<<<<<<<<
*/
__pyx_v_error = 1;
- /* "src/lxml/parser.pxi":1297
+ /* "src/lxml/parser.pxi":1308
* recover = 0
* error = 1
* break # <<<<<<<<<<<<<<
*/
goto __pyx_L10_break;
- /* "src/lxml/parser.pxi":1293
+ /* "src/lxml/parser.pxi":1304
* context.store_exception(MemoryError())
*
* if context._has_raised(): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1299
+ /* "src/lxml/parser.pxi":1310
* break
*
* if error and not pctxt.replaceEntities and not pctxt.validate: # <<<<<<<<<<<<<<
__pyx_L28_bool_binop_done:;
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1301
+ /* "src/lxml/parser.pxi":1312
* if error and not pctxt.replaceEntities and not pctxt.validate:
* # in this mode, we ignore errors about undefined entities
* for entry in context._error_log.filter_from_errors(): # <<<<<<<<<<<<<<
* if entry.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \
* entry.type != ErrorTypes.ERR_UNDECLARED_ENTITY:
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_context->_error_log), __pyx_n_s_filter_from_errors); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_context->_error_log), __pyx_n_s_filter_from_errors); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (__pyx_t_4) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_14 = 0;
__pyx_t_15 = NULL;
} else {
- __pyx_t_14 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_14 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_15 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_15 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_14); __Pyx_INCREF(__pyx_t_1); __pyx_t_14++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_14); __Pyx_INCREF(__pyx_t_1); __pyx_t_14++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_14); __Pyx_INCREF(__pyx_t_1); __pyx_t_14++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_14); __Pyx_INCREF(__pyx_t_1); __pyx_t_14++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
__Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1302
+ /* "src/lxml/parser.pxi":1313
* # in this mode, we ignore errors about undefined entities
* for entry in context._error_log.filter_from_errors():
* if entry.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \ # <<<<<<<<<<<<<<
* entry.type != ErrorTypes.ERR_UNDECLARED_ENTITY:
* break
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_WAR_UNDECLARED_ENTITY); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_WAR_UNDECLARED_ENTITY); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_6) {
} else {
goto __pyx_L34_bool_binop_done;
}
- /* "src/lxml/parser.pxi":1303
+ /* "src/lxml/parser.pxi":1314
* for entry in context._error_log.filter_from_errors():
* if entry.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \
* entry.type != ErrorTypes.ERR_UNDECLARED_ENTITY: # <<<<<<<<<<<<<<
* break
* else:
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_entry, __pyx_n_s_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_ErrorTypes); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ERR_UNDECLARED_ENTITY); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ERR_UNDECLARED_ENTITY); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_7 = __pyx_t_6;
__pyx_L34_bool_binop_done:;
- /* "src/lxml/parser.pxi":1302
+ /* "src/lxml/parser.pxi":1313
* # in this mode, we ignore errors about undefined entities
* for entry in context._error_log.filter_from_errors():
* if entry.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \ # <<<<<<<<<<<<<<
*/
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1304
+ /* "src/lxml/parser.pxi":1315
* if entry.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \
* entry.type != ErrorTypes.ERR_UNDECLARED_ENTITY:
* break # <<<<<<<<<<<<<<
*/
goto __pyx_L32_break;
- /* "src/lxml/parser.pxi":1302
+ /* "src/lxml/parser.pxi":1313
* # in this mode, we ignore errors about undefined entities
* for entry in context._error_log.filter_from_errors():
* if entry.type != ErrorTypes.WAR_UNDECLARED_ENTITY and \ # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1301
+ /* "src/lxml/parser.pxi":1312
* if error and not pctxt.replaceEntities and not pctxt.validate:
* # in this mode, we ignore errors about undefined entities
* for entry in context._error_log.filter_from_errors(): # <<<<<<<<<<<<<<
}
/*else*/ {
- /* "src/lxml/parser.pxi":1306
+ /* "src/lxml/parser.pxi":1317
* break
* else:
* error = 0 # <<<<<<<<<<<<<<
__pyx_v_error = 0;
}
- /* "src/lxml/parser.pxi":1301
+ /* "src/lxml/parser.pxi":1312
* if error and not pctxt.replaceEntities and not pctxt.validate:
* # in this mode, we ignore errors about undefined entities
* for entry in context._error_log.filter_from_errors(): # <<<<<<<<<<<<<<
__pyx_L32_break:;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/parser.pxi":1299
+ /* "src/lxml/parser.pxi":1310
* break
*
* if error and not pctxt.replaceEntities and not pctxt.validate: # <<<<<<<<<<<<<<
}
__pyx_L10_break:;
- /* "src/lxml/parser.pxi":1308
+ /* "src/lxml/parser.pxi":1319
* error = 0
*
* if not pctxt.wellFormed and pctxt.disableSAX and context._has_raised(): # <<<<<<<<<<<<<<
__pyx_L38_bool_binop_done:;
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1310
+ /* "src/lxml/parser.pxi":1321
* if not pctxt.wellFormed and pctxt.disableSAX and context._has_raised():
* # propagate Python exceptions immediately
* recover = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_recover = 0;
- /* "src/lxml/parser.pxi":1311
+ /* "src/lxml/parser.pxi":1322
* # propagate Python exceptions immediately
* recover = 0
* error = 1 # <<<<<<<<<<<<<<
*/
__pyx_v_error = 1;
- /* "src/lxml/parser.pxi":1308
+ /* "src/lxml/parser.pxi":1319
* error = 0
*
* if not pctxt.wellFormed and pctxt.disableSAX and context._has_raised(): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1313
+ /* "src/lxml/parser.pxi":1324
* error = 1
*
* if fixup_error or not recover and (error or not pctxt.wellFormed): # <<<<<<<<<<<<<<
__pyx_L42_bool_binop_done:;
if (__pyx_t_7) {
- /* "src/lxml/parser.pxi":1314
+ /* "src/lxml/parser.pxi":1325
*
* if fixup_error or not recover and (error or not pctxt.wellFormed):
* self._feed_parser_running = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_self->_feed_parser_running = 0;
- /* "src/lxml/parser.pxi":1315
+ /* "src/lxml/parser.pxi":1326
* if fixup_error or not recover and (error or not pctxt.wellFormed):
* self._feed_parser_running = 0
* try: # <<<<<<<<<<<<<<
*/
/*try:*/ {
- /* "src/lxml/parser.pxi":1316
+ /* "src/lxml/parser.pxi":1327
* self._feed_parser_running = 0
* try:
* context._handleParseResult(self, pctxt.myDoc, None) # <<<<<<<<<<<<<<
* finally:
* context.cleanup()
*/
- __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResult(__pyx_v_context, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_pctxt->myDoc, Py_None); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L47_error;}
+ __pyx_t_2 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResult(__pyx_v_context, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_pctxt->myDoc, Py_None); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L47_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
- /* "src/lxml/parser.pxi":1318
+ /* "src/lxml/parser.pxi":1329
* context._handleParseResult(self, pctxt.myDoc, None)
* finally:
* context.cleanup() # <<<<<<<<<<<<<<
*/
/*finally:*/ {
/*normal exit:*/{
- __pyx_t_10 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
goto __pyx_L48;
}
/*exception exit:*/{
__Pyx_XGOTREF(__pyx_t_23);
__pyx_t_10 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename;
{
- __pyx_t_24 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_24 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L50_error;}
+ __pyx_t_24 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_24 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L50_error;}
}
if (PY_MAJOR_VERSION >= 3) {
__Pyx_XGIVEREF(__pyx_t_21);
__pyx_L48:;
}
- /* "src/lxml/parser.pxi":1313
+ /* "src/lxml/parser.pxi":1324
* error = 1
*
* if fixup_error or not recover and (error or not pctxt.wellFormed): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1194
+ /* "src/lxml/parser.pxi":1205
* return self._getPushParserContext()._error_log.copy()
*
* cpdef feed(self, data): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("feed", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_11_FeedParser_feed(__pyx_v_self, __pyx_v_data, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_11_FeedParser_feed(__pyx_v_self, __pyx_v_data, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1320
+/* "src/lxml/parser.pxi":1331
* context.cleanup()
*
* cpdef close(self): # <<<<<<<<<<<<<<
if (unlikely(__pyx_skip_dispatch)) ;
/* Check if overridden in Python */
else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)__pyx_pw_4lxml_5etree_11_FeedParser_3close)) {
__Pyx_XDECREF(__pyx_r);
}
}
if (__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
- /* "src/lxml/parser.pxi":1331
+ /* "src/lxml/parser.pxi":1342
* parser interface, all other usage is undefined.
* """
* if not self._feed_parser_running: # <<<<<<<<<<<<<<
__pyx_t_5 = ((!(__pyx_v_self->_feed_parser_running != 0)) != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1332
+ /* "src/lxml/parser.pxi":1343
* """
* if not self._feed_parser_running:
* raise XMLSyntaxError(u"no element found", # <<<<<<<<<<<<<<
* xmlerror.XML_ERR_INTERNAL_ERROR, 0, 0)
*
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_XMLSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_XMLSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- /* "src/lxml/parser.pxi":1333
+ /* "src/lxml/parser.pxi":1344
* if not self._feed_parser_running:
* raise XMLSyntaxError(u"no element found",
* xmlerror.XML_ERR_INTERNAL_ERROR, 0, 0) # <<<<<<<<<<<<<<
*
* context = self._getPushParserContext()
*/
- __pyx_t_3 = __Pyx_PyInt_From_xmlParserErrors(XML_ERR_INTERNAL_ERROR); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_From_xmlParserErrors(XML_ERR_INTERNAL_ERROR); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_6 = 0;
__pyx_t_6 = 1;
}
}
- __pyx_t_7 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_int_0);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1331
+ /* "src/lxml/parser.pxi":1342
* parser interface, all other usage is undefined.
* """
* if not self._feed_parser_running: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1335
+ /* "src/lxml/parser.pxi":1346
* xmlerror.XML_ERR_INTERNAL_ERROR, 0, 0)
*
* context = self._getPushParserContext() # <<<<<<<<<<<<<<
* pctxt = context._c_ctxt
*
*/
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__FeedParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree__FeedParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_context = ((struct __pyx_obj_4lxml_5etree__ParserContext *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1336
+ /* "src/lxml/parser.pxi":1347
*
* context = self._getPushParserContext()
* pctxt = context._c_ctxt # <<<<<<<<<<<<<<
__pyx_t_8 = __pyx_v_context->_c_ctxt;
__pyx_v_pctxt = __pyx_t_8;
- /* "src/lxml/parser.pxi":1338
+ /* "src/lxml/parser.pxi":1349
* pctxt = context._c_ctxt
*
* self._feed_parser_running = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_self->_feed_parser_running = 0;
- /* "src/lxml/parser.pxi":1339
+ /* "src/lxml/parser.pxi":1350
*
* self._feed_parser_running = 0
* if self._for_html: # <<<<<<<<<<<<<<
__pyx_t_5 = (__pyx_v_self->__pyx_base._for_html != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1340
+ /* "src/lxml/parser.pxi":1351
* self._feed_parser_running = 0
* if self._for_html:
* htmlparser.htmlParseChunk(pctxt, NULL, 0, 1) # <<<<<<<<<<<<<<
*/
htmlParseChunk(__pyx_v_pctxt, NULL, 0, 1);
- /* "src/lxml/parser.pxi":1339
+ /* "src/lxml/parser.pxi":1350
*
* self._feed_parser_running = 0
* if self._for_html: # <<<<<<<<<<<<<<
goto __pyx_L4;
}
- /* "src/lxml/parser.pxi":1342
+ /* "src/lxml/parser.pxi":1353
* htmlparser.htmlParseChunk(pctxt, NULL, 0, 1)
* else:
* xmlparser.xmlParseChunk(pctxt, NULL, 0, 1) # <<<<<<<<<<<<<<
}
__pyx_L4:;
- /* "src/lxml/parser.pxi":1344
+ /* "src/lxml/parser.pxi":1355
* xmlparser.xmlParseChunk(pctxt, NULL, 0, 1)
*
* if (pctxt.recovery and not pctxt.disableSAX and # <<<<<<<<<<<<<<
goto __pyx_L6_bool_binop_done;
}
- /* "src/lxml/parser.pxi":1345
+ /* "src/lxml/parser.pxi":1356
*
* if (pctxt.recovery and not pctxt.disableSAX and
* isinstance(context, _SaxParserContext)): # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_t_10;
__pyx_L6_bool_binop_done:;
- /* "src/lxml/parser.pxi":1344
+ /* "src/lxml/parser.pxi":1355
* xmlparser.xmlParseChunk(pctxt, NULL, 0, 1)
*
* if (pctxt.recovery and not pctxt.disableSAX and # <<<<<<<<<<<<<<
*/
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1347
+ /* "src/lxml/parser.pxi":1358
* isinstance(context, _SaxParserContext)):
* # apply any left-over 'end' events
* (<_SaxParserContext>context).flushEvents() # <<<<<<<<<<<<<<
*
* try:
*/
- __pyx_t_11 = ((struct __pyx_vtabstruct_4lxml_5etree__SaxParserContext *)((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_v_context)->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->flushEvents(((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_v_context)); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = ((struct __pyx_vtabstruct_4lxml_5etree__SaxParserContext *)((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_v_context)->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->flushEvents(((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_v_context)); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1344
+ /* "src/lxml/parser.pxi":1355
* xmlparser.xmlParseChunk(pctxt, NULL, 0, 1)
*
* if (pctxt.recovery and not pctxt.disableSAX and # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1349
+ /* "src/lxml/parser.pxi":1360
* (<_SaxParserContext>context).flushEvents()
*
* try: # <<<<<<<<<<<<<<
*/
/*try:*/ {
- /* "src/lxml/parser.pxi":1350
+ /* "src/lxml/parser.pxi":1361
*
* try:
* result = context._handleParseResult(self, pctxt.myDoc, None) # <<<<<<<<<<<<<<
* finally:
* context.cleanup()
*/
- __pyx_t_1 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResult(__pyx_v_context, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_pctxt->myDoc, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
+ __pyx_t_1 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->_handleParseResult(__pyx_v_context, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_pctxt->myDoc, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_result = __pyx_t_1;
__pyx_t_1 = 0;
}
- /* "src/lxml/parser.pxi":1352
+ /* "src/lxml/parser.pxi":1363
* result = context._handleParseResult(self, pctxt.myDoc, None)
* finally:
* context.cleanup() # <<<<<<<<<<<<<<
*/
/*finally:*/ {
/*normal exit:*/{
- __pyx_t_11 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
goto __pyx_L11;
}
/*exception exit:*/{
__Pyx_XGOTREF(__pyx_t_19);
__pyx_t_11 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_13 = __pyx_filename;
{
- __pyx_t_20 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_20 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
+ __pyx_t_20 = ((struct __pyx_vtabstruct_4lxml_5etree__ParserContext *)__pyx_v_context->__pyx_base.__pyx_base.__pyx_vtab)->cleanup(__pyx_v_context); if (unlikely(__pyx_t_20 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
}
if (PY_MAJOR_VERSION >= 3) {
__Pyx_XGIVEREF(__pyx_t_17);
__pyx_L11:;
}
- /* "src/lxml/parser.pxi":1354
+ /* "src/lxml/parser.pxi":1365
* context.cleanup()
*
* if isinstance(result, _Document): # <<<<<<<<<<<<<<
__pyx_t_10 = (__pyx_t_5 != 0);
if (__pyx_t_10) {
- /* "src/lxml/parser.pxi":1355
+ /* "src/lxml/parser.pxi":1366
*
* if isinstance(result, _Document):
* return (<_Document>result).getroot() # <<<<<<<<<<<<<<
* return result
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_9_Document_getroot(((struct LxmlDocument *)__pyx_v_result)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_9_Document_getroot(((struct LxmlDocument *)__pyx_v_result)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1354
+ /* "src/lxml/parser.pxi":1365
* context.cleanup()
*
* if isinstance(result, _Document): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1357
+ /* "src/lxml/parser.pxi":1368
* return (<_Document>result).getroot()
* else:
* return result # <<<<<<<<<<<<<<
goto __pyx_L0;
}
- /* "src/lxml/parser.pxi":1320
+ /* "src/lxml/parser.pxi":1331
* context.cleanup()
*
* cpdef close(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("close", 0);
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_5etree_11_FeedParser_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree_11_FeedParser_close(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1360
+/* "src/lxml/parser.pxi":1371
*
*
* cdef int _htmlCtxtResetPush(xmlparser.xmlParserCtxt* c_ctxt, # <<<<<<<<<<<<<<
int __pyx_t_1;
__Pyx_RefNannySetupContext("_htmlCtxtResetPush", 0);
- /* "src/lxml/parser.pxi":1366
+ /* "src/lxml/parser.pxi":1377
* cdef xmlparser.xmlParserInput* c_input_stream
* # libxml2 lacks an HTML push parser setup function
* error = xmlparser.xmlCtxtResetPush( # <<<<<<<<<<<<<<
*/
__pyx_v_error = xmlCtxtResetPush(__pyx_v_c_ctxt, __pyx_v_c_data, __pyx_v_buffer_len, __pyx_v_c_filename, __pyx_v_c_encoding);
- /* "src/lxml/parser.pxi":1368
+ /* "src/lxml/parser.pxi":1379
* error = xmlparser.xmlCtxtResetPush(
* c_ctxt, c_data, buffer_len, c_filename, c_encoding)
* if error: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_error != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1369
+ /* "src/lxml/parser.pxi":1380
* c_ctxt, c_data, buffer_len, c_filename, c_encoding)
* if error:
* return error # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_error;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1368
+ /* "src/lxml/parser.pxi":1379
* error = xmlparser.xmlCtxtResetPush(
* c_ctxt, c_data, buffer_len, c_filename, c_encoding)
* if error: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1372
+ /* "src/lxml/parser.pxi":1383
*
* # fix libxml2 setup for HTML
* c_ctxt.progressive = 1 # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt->progressive = 1;
- /* "src/lxml/parser.pxi":1373
+ /* "src/lxml/parser.pxi":1384
* # fix libxml2 setup for HTML
* c_ctxt.progressive = 1
* c_ctxt.html = 1 # <<<<<<<<<<<<<<
*/
__pyx_v_c_ctxt->html = 1;
- /* "src/lxml/parser.pxi":1374
+ /* "src/lxml/parser.pxi":1385
* c_ctxt.progressive = 1
* c_ctxt.html = 1
* htmlparser.htmlCtxtUseOptions(c_ctxt, parse_options) # <<<<<<<<<<<<<<
*/
htmlCtxtUseOptions(__pyx_v_c_ctxt, __pyx_v_parse_options);
- /* "src/lxml/parser.pxi":1376
+ /* "src/lxml/parser.pxi":1387
* htmlparser.htmlCtxtUseOptions(c_ctxt, parse_options)
*
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1360
+ /* "src/lxml/parser.pxi":1371
*
*
* cdef int _htmlCtxtResetPush(xmlparser.xmlParserCtxt* c_ctxt, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1437
+/* "src/lxml/parser.pxi":1448
* apply to the default parser.
* """
* def __init__(self, *, encoding=None, attribute_defaults=False, # <<<<<<<<<<<<<<
values[0] = ((PyObject *)Py_None);
values[1] = ((PyObject *)Py_False);
- /* "src/lxml/parser.pxi":1438
+ /* "src/lxml/parser.pxi":1449
* """
* def __init__(self, *, encoding=None, attribute_defaults=False,
* dtd_validation=False, load_dtd=False, no_network=True, # <<<<<<<<<<<<<<
values[3] = ((PyObject *)Py_False);
values[4] = ((PyObject *)Py_True);
- /* "src/lxml/parser.pxi":1439
+ /* "src/lxml/parser.pxi":1450
* def __init__(self, *, encoding=None, attribute_defaults=False,
* dtd_validation=False, load_dtd=False, no_network=True,
* ns_clean=False, recover=False, XMLSchema schema=None, # <<<<<<<<<<<<<<
values[6] = ((PyObject *)Py_False);
values[7] = (PyObject *)((struct __pyx_obj_4lxml_5etree_XMLSchema *)Py_None);
- /* "src/lxml/parser.pxi":1440
+ /* "src/lxml/parser.pxi":1451
* dtd_validation=False, load_dtd=False, no_network=True,
* ns_clean=False, recover=False, XMLSchema schema=None,
* huge_tree=False, remove_blank_text=False, resolve_entities=True, # <<<<<<<<<<<<<<
values[9] = ((PyObject *)Py_False);
values[10] = ((PyObject *)Py_True);
- /* "src/lxml/parser.pxi":1441
+ /* "src/lxml/parser.pxi":1452
* ns_clean=False, recover=False, XMLSchema schema=None,
* huge_tree=False, remove_blank_text=False, resolve_entities=True,
* remove_comments=False, remove_pis=False, strip_cdata=True, # <<<<<<<<<<<<<<
values[12] = ((PyObject *)Py_False);
values[13] = ((PyObject *)Py_True);
- /* "src/lxml/parser.pxi":1442
+ /* "src/lxml/parser.pxi":1453
* huge_tree=False, remove_blank_text=False, resolve_entities=True,
* remove_comments=False, remove_pis=False, strip_cdata=True,
* collect_ids=True, target=None, compact=True): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 0) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree.XMLParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_schema), __pyx_ptype_4lxml_5etree_XMLSchema, 1, "schema", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_schema), __pyx_ptype_4lxml_5etree_XMLSchema, 1, "schema", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_9XMLParser___init__(((struct __pyx_obj_4lxml_5etree_XMLParser *)__pyx_v_self), __pyx_v_encoding, __pyx_v_attribute_defaults, __pyx_v_dtd_validation, __pyx_v_load_dtd, __pyx_v_no_network, __pyx_v_ns_clean, __pyx_v_recover, __pyx_v_schema, __pyx_v_huge_tree, __pyx_v_remove_blank_text, __pyx_v_resolve_entities, __pyx_v_remove_comments, __pyx_v_remove_pis, __pyx_v_strip_cdata, __pyx_v_collect_ids, __pyx_v_target, __pyx_v_compact);
- /* "src/lxml/parser.pxi":1437
+ /* "src/lxml/parser.pxi":1448
* apply to the default parser.
* """
* def __init__(self, *, encoding=None, attribute_defaults=False, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "src/lxml/parser.pxi":1444
+ /* "src/lxml/parser.pxi":1455
* collect_ids=True, target=None, compact=True):
* cdef int parse_options
* parse_options = _XML_DEFAULT_PARSE_OPTIONS # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = __pyx_v_4lxml_5etree__XML_DEFAULT_PARSE_OPTIONS;
- /* "src/lxml/parser.pxi":1445
+ /* "src/lxml/parser.pxi":1456
* cdef int parse_options
* parse_options = _XML_DEFAULT_PARSE_OPTIONS
* if load_dtd: # <<<<<<<<<<<<<<
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD
* if dtd_validation:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_load_dtd); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_load_dtd); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1446
+ /* "src/lxml/parser.pxi":1457
* parse_options = _XML_DEFAULT_PARSE_OPTIONS
* if load_dtd:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options | XML_PARSE_DTDLOAD);
- /* "src/lxml/parser.pxi":1445
+ /* "src/lxml/parser.pxi":1456
* cdef int parse_options
* parse_options = _XML_DEFAULT_PARSE_OPTIONS
* if load_dtd: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1447
+ /* "src/lxml/parser.pxi":1458
* if load_dtd:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD
* if dtd_validation: # <<<<<<<<<<<<<<
* parse_options = parse_options | xmlparser.XML_PARSE_DTDVALID | \
* xmlparser.XML_PARSE_DTDLOAD
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_dtd_validation); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_dtd_validation); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1448
+ /* "src/lxml/parser.pxi":1459
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD
* if dtd_validation:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDVALID | \ # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = ((__pyx_v_parse_options | XML_PARSE_DTDVALID) | XML_PARSE_DTDLOAD);
- /* "src/lxml/parser.pxi":1447
+ /* "src/lxml/parser.pxi":1458
* if load_dtd:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD
* if dtd_validation: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1450
+ /* "src/lxml/parser.pxi":1461
* parse_options = parse_options | xmlparser.XML_PARSE_DTDVALID | \
* xmlparser.XML_PARSE_DTDLOAD
* if attribute_defaults: # <<<<<<<<<<<<<<
* parse_options = parse_options | xmlparser.XML_PARSE_DTDATTR
* if schema is None:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_attribute_defaults); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_attribute_defaults); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1451
+ /* "src/lxml/parser.pxi":1462
* xmlparser.XML_PARSE_DTDLOAD
* if attribute_defaults:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDATTR # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options | XML_PARSE_DTDATTR);
- /* "src/lxml/parser.pxi":1452
+ /* "src/lxml/parser.pxi":1463
* if attribute_defaults:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDATTR
* if schema is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1453
+ /* "src/lxml/parser.pxi":1464
* parse_options = parse_options | xmlparser.XML_PARSE_DTDATTR
* if schema is None:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options | XML_PARSE_DTDLOAD);
- /* "src/lxml/parser.pxi":1452
+ /* "src/lxml/parser.pxi":1463
* if attribute_defaults:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDATTR
* if schema is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1450
+ /* "src/lxml/parser.pxi":1461
* parse_options = parse_options | xmlparser.XML_PARSE_DTDVALID | \
* xmlparser.XML_PARSE_DTDLOAD
* if attribute_defaults: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1454
+ /* "src/lxml/parser.pxi":1465
* if schema is None:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD
* if ns_clean: # <<<<<<<<<<<<<<
* parse_options = parse_options | xmlparser.XML_PARSE_NSCLEAN
* if recover:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ns_clean); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ns_clean); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1455
+ /* "src/lxml/parser.pxi":1466
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD
* if ns_clean:
* parse_options = parse_options | xmlparser.XML_PARSE_NSCLEAN # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options | XML_PARSE_NSCLEAN);
- /* "src/lxml/parser.pxi":1454
+ /* "src/lxml/parser.pxi":1465
* if schema is None:
* parse_options = parse_options | xmlparser.XML_PARSE_DTDLOAD
* if ns_clean: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1456
+ /* "src/lxml/parser.pxi":1467
* if ns_clean:
* parse_options = parse_options | xmlparser.XML_PARSE_NSCLEAN
* if recover: # <<<<<<<<<<<<<<
* parse_options = parse_options | xmlparser.XML_PARSE_RECOVER
* if remove_blank_text:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_recover); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_recover); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1457
+ /* "src/lxml/parser.pxi":1468
* parse_options = parse_options | xmlparser.XML_PARSE_NSCLEAN
* if recover:
* parse_options = parse_options | xmlparser.XML_PARSE_RECOVER # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options | XML_PARSE_RECOVER);
- /* "src/lxml/parser.pxi":1456
+ /* "src/lxml/parser.pxi":1467
* if ns_clean:
* parse_options = parse_options | xmlparser.XML_PARSE_NSCLEAN
* if recover: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1458
+ /* "src/lxml/parser.pxi":1469
* if recover:
* parse_options = parse_options | xmlparser.XML_PARSE_RECOVER
* if remove_blank_text: # <<<<<<<<<<<<<<
* parse_options = parse_options | xmlparser.XML_PARSE_NOBLANKS
* if huge_tree:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_remove_blank_text); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_remove_blank_text); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1459
+ /* "src/lxml/parser.pxi":1470
* parse_options = parse_options | xmlparser.XML_PARSE_RECOVER
* if remove_blank_text:
* parse_options = parse_options | xmlparser.XML_PARSE_NOBLANKS # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options | XML_PARSE_NOBLANKS);
- /* "src/lxml/parser.pxi":1458
+ /* "src/lxml/parser.pxi":1469
* if recover:
* parse_options = parse_options | xmlparser.XML_PARSE_RECOVER
* if remove_blank_text: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1460
+ /* "src/lxml/parser.pxi":1471
* if remove_blank_text:
* parse_options = parse_options | xmlparser.XML_PARSE_NOBLANKS
* if huge_tree: # <<<<<<<<<<<<<<
* parse_options = parse_options | xmlparser.XML_PARSE_HUGE
* if not no_network:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_huge_tree); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_huge_tree); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1461
+ /* "src/lxml/parser.pxi":1472
* parse_options = parse_options | xmlparser.XML_PARSE_NOBLANKS
* if huge_tree:
* parse_options = parse_options | xmlparser.XML_PARSE_HUGE # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options | XML_PARSE_HUGE);
- /* "src/lxml/parser.pxi":1460
+ /* "src/lxml/parser.pxi":1471
* if remove_blank_text:
* parse_options = parse_options | xmlparser.XML_PARSE_NOBLANKS
* if huge_tree: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1462
+ /* "src/lxml/parser.pxi":1473
* if huge_tree:
* parse_options = parse_options | xmlparser.XML_PARSE_HUGE
* if not no_network: # <<<<<<<<<<<<<<
* parse_options = parse_options ^ xmlparser.XML_PARSE_NONET
* if not compact:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_no_network); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_no_network); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = ((!__pyx_t_2) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1463
+ /* "src/lxml/parser.pxi":1474
* parse_options = parse_options | xmlparser.XML_PARSE_HUGE
* if not no_network:
* parse_options = parse_options ^ xmlparser.XML_PARSE_NONET # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options ^ XML_PARSE_NONET);
- /* "src/lxml/parser.pxi":1462
+ /* "src/lxml/parser.pxi":1473
* if huge_tree:
* parse_options = parse_options | xmlparser.XML_PARSE_HUGE
* if not no_network: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1464
+ /* "src/lxml/parser.pxi":1475
* if not no_network:
* parse_options = parse_options ^ xmlparser.XML_PARSE_NONET
* if not compact: # <<<<<<<<<<<<<<
* parse_options = parse_options ^ xmlparser.XML_PARSE_COMPACT
* if not resolve_entities:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_compact); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_compact); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1465
+ /* "src/lxml/parser.pxi":1476
* parse_options = parse_options ^ xmlparser.XML_PARSE_NONET
* if not compact:
* parse_options = parse_options ^ xmlparser.XML_PARSE_COMPACT # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options ^ XML_PARSE_COMPACT);
- /* "src/lxml/parser.pxi":1464
+ /* "src/lxml/parser.pxi":1475
* if not no_network:
* parse_options = parse_options ^ xmlparser.XML_PARSE_NONET
* if not compact: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1466
+ /* "src/lxml/parser.pxi":1477
* if not compact:
* parse_options = parse_options ^ xmlparser.XML_PARSE_COMPACT
* if not resolve_entities: # <<<<<<<<<<<<<<
* parse_options = parse_options ^ xmlparser.XML_PARSE_NOENT
* if not strip_cdata:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_resolve_entities); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_resolve_entities); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = ((!__pyx_t_2) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1467
+ /* "src/lxml/parser.pxi":1478
* parse_options = parse_options ^ xmlparser.XML_PARSE_COMPACT
* if not resolve_entities:
* parse_options = parse_options ^ xmlparser.XML_PARSE_NOENT # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options ^ XML_PARSE_NOENT);
- /* "src/lxml/parser.pxi":1466
+ /* "src/lxml/parser.pxi":1477
* if not compact:
* parse_options = parse_options ^ xmlparser.XML_PARSE_COMPACT
* if not resolve_entities: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1468
+ /* "src/lxml/parser.pxi":1479
* if not resolve_entities:
* parse_options = parse_options ^ xmlparser.XML_PARSE_NOENT
* if not strip_cdata: # <<<<<<<<<<<<<<
* parse_options = parse_options ^ xmlparser.XML_PARSE_NOCDATA
*
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_strip_cdata); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_strip_cdata); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1469
+ /* "src/lxml/parser.pxi":1480
* parse_options = parse_options ^ xmlparser.XML_PARSE_NOENT
* if not strip_cdata:
* parse_options = parse_options ^ xmlparser.XML_PARSE_NOCDATA # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options ^ XML_PARSE_NOCDATA);
- /* "src/lxml/parser.pxi":1468
+ /* "src/lxml/parser.pxi":1479
* if not resolve_entities:
* parse_options = parse_options ^ xmlparser.XML_PARSE_NOENT
* if not strip_cdata: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1471
+ /* "src/lxml/parser.pxi":1482
* parse_options = parse_options ^ xmlparser.XML_PARSE_NOCDATA
*
* _BaseParser.__init__(self, parse_options, 0, schema, # <<<<<<<<<<<<<<
* remove_comments, remove_pis, strip_cdata,
* collect_ids, target, encoding)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__BaseParser), __pyx_n_s_init); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__BaseParser), __pyx_n_s_init); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_parse_options); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_parse_options); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- /* "src/lxml/parser.pxi":1473
+ /* "src/lxml/parser.pxi":1484
* _BaseParser.__init__(self, parse_options, 0, schema,
* remove_comments, remove_pis, strip_cdata,
* collect_ids, target, encoding) # <<<<<<<<<<<<<<
__pyx_t_7 = 1;
}
}
- __pyx_t_8 = PyTuple_New(10+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyTuple_New(10+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_GIVEREF(__pyx_v_encoding);
PyTuple_SET_ITEM(__pyx_t_8, 9+__pyx_t_7, __pyx_v_encoding);
__pyx_t_5 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1437
+ /* "src/lxml/parser.pxi":1448
* apply to the default parser.
* """
* def __init__(self, *, encoding=None, attribute_defaults=False, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1494
+/* "src/lxml/parser.pxi":1505
* source, you can pass the ``base_url``.
* """
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
__Pyx_AddTraceback("lxml.etree.XMLPullParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannySetupContext("__init__", 0);
__Pyx_INCREF(__pyx_v_events);
- /* "src/lxml/parser.pxi":1495
+ /* "src/lxml/parser.pxi":1506
* """
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs):
* XMLParser.__init__(self, **kwargs) # <<<<<<<<<<<<<<
* if events is None:
* events = ('end',)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree_XMLParser), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree_XMLParser), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1496
+ /* "src/lxml/parser.pxi":1507
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs):
* XMLParser.__init__(self, **kwargs)
* if events is None: # <<<<<<<<<<<<<<
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1497
+ /* "src/lxml/parser.pxi":1508
* XMLParser.__init__(self, **kwargs)
* if events is None:
* events = ('end',) # <<<<<<<<<<<<<<
* self._setBaseURL(base_url)
* self._collectEvents(events, tag)
*/
- __Pyx_INCREF(__pyx_tuple__61);
- __Pyx_DECREF_SET(__pyx_v_events, __pyx_tuple__61);
+ __Pyx_INCREF(__pyx_tuple__62);
+ __Pyx_DECREF_SET(__pyx_v_events, __pyx_tuple__62);
- /* "src/lxml/parser.pxi":1496
+ /* "src/lxml/parser.pxi":1507
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs):
* XMLParser.__init__(self, **kwargs)
* if events is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1498
+ /* "src/lxml/parser.pxi":1509
* if events is None:
* events = ('end',)
* self._setBaseURL(base_url) # <<<<<<<<<<<<<<
* self._collectEvents(events, tag)
*
*/
- __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree_XMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._setBaseURL(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_base_url); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree_XMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._setBaseURL(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_base_url); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1499
+ /* "src/lxml/parser.pxi":1510
* events = ('end',)
* self._setBaseURL(base_url)
* self._collectEvents(events, tag) # <<<<<<<<<<<<<<
*
* def read_events(self):
*/
- __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree_XMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._collectEvents(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_events, __pyx_v_tag); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree_XMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._collectEvents(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_events, __pyx_v_tag); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1494
+ /* "src/lxml/parser.pxi":1505
* source, you can pass the ``base_url``.
* """
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1501
+/* "src/lxml/parser.pxi":1512
* self._collectEvents(events, tag)
*
* def read_events(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("read_events", 0);
- /* "src/lxml/parser.pxi":1502
+ /* "src/lxml/parser.pxi":1513
*
* def read_events(self):
* return (<_SaxParserContext?>self._getPushParserContext()).events_iterator # <<<<<<<<<<<<<<
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree_XMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree_XMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__SaxParserContext)))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__SaxParserContext)))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_INCREF(((PyObject *)((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_t_1)->events_iterator));
__pyx_r = ((PyObject *)((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_t_1)->events_iterator);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1501
+ /* "src/lxml/parser.pxi":1512
* self._collectEvents(events, tag)
*
* def read_events(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1520
+/* "src/lxml/parser.pxi":1531
* and thus ignores comments and processing instructions.
* """
* def __init__(self, *, encoding=None, attribute_defaults=False, # <<<<<<<<<<<<<<
values[0] = ((PyObject *)Py_None);
values[1] = ((PyObject *)Py_False);
- /* "src/lxml/parser.pxi":1521
+ /* "src/lxml/parser.pxi":1532
* """
* def __init__(self, *, encoding=None, attribute_defaults=False,
* dtd_validation=False, load_dtd=False, no_network=True, # <<<<<<<<<<<<<<
values[3] = ((PyObject *)Py_False);
values[4] = ((PyObject *)Py_True);
- /* "src/lxml/parser.pxi":1522
+ /* "src/lxml/parser.pxi":1533
* def __init__(self, *, encoding=None, attribute_defaults=False,
* dtd_validation=False, load_dtd=False, no_network=True,
* ns_clean=False, recover=False, schema=None, # <<<<<<<<<<<<<<
values[6] = ((PyObject *)Py_False);
values[7] = ((PyObject *)Py_None);
- /* "src/lxml/parser.pxi":1523
+ /* "src/lxml/parser.pxi":1534
* dtd_validation=False, load_dtd=False, no_network=True,
* ns_clean=False, recover=False, schema=None,
* huge_tree=False, remove_blank_text=False, resolve_entities=True, # <<<<<<<<<<<<<<
values[9] = ((PyObject *)Py_False);
values[10] = ((PyObject *)Py_True);
- /* "src/lxml/parser.pxi":1524
+ /* "src/lxml/parser.pxi":1535
* ns_clean=False, recover=False, schema=None,
* huge_tree=False, remove_blank_text=False, resolve_entities=True,
* remove_comments=True, remove_pis=True, strip_cdata=True, # <<<<<<<<<<<<<<
values[12] = ((PyObject *)Py_True);
values[13] = ((PyObject *)Py_True);
- /* "src/lxml/parser.pxi":1525
+ /* "src/lxml/parser.pxi":1536
* huge_tree=False, remove_blank_text=False, resolve_entities=True,
* remove_comments=True, remove_pis=True, strip_cdata=True,
* target=None, compact=True): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1520; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1531; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 0) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1520; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1531; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree.ETCompatXMLParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4lxml_5etree_17ETCompatXMLParser___init__(((struct __pyx_obj_4lxml_5etree_ETCompatXMLParser *)__pyx_v_self), __pyx_v_encoding, __pyx_v_attribute_defaults, __pyx_v_dtd_validation, __pyx_v_load_dtd, __pyx_v_no_network, __pyx_v_ns_clean, __pyx_v_recover, __pyx_v_schema, __pyx_v_huge_tree, __pyx_v_remove_blank_text, __pyx_v_resolve_entities, __pyx_v_remove_comments, __pyx_v_remove_pis, __pyx_v_strip_cdata, __pyx_v_target, __pyx_v_compact);
- /* "src/lxml/parser.pxi":1520
+ /* "src/lxml/parser.pxi":1531
* and thus ignores comments and processing instructions.
* """
* def __init__(self, *, encoding=None, attribute_defaults=False, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "src/lxml/parser.pxi":1526
+ /* "src/lxml/parser.pxi":1537
* remove_comments=True, remove_pis=True, strip_cdata=True,
* target=None, compact=True):
* XMLParser.__init__(self, # <<<<<<<<<<<<<<
* attribute_defaults=attribute_defaults,
* dtd_validation=dtd_validation,
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree_XMLParser), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree_XMLParser), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self));
- /* "src/lxml/parser.pxi":1527
+ /* "src/lxml/parser.pxi":1538
* target=None, compact=True):
* XMLParser.__init__(self,
* attribute_defaults=attribute_defaults, # <<<<<<<<<<<<<<
* dtd_validation=dtd_validation,
* load_dtd=load_dtd,
*/
- __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_defaults, __pyx_v_attribute_defaults) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute_defaults, __pyx_v_attribute_defaults) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1528
+ /* "src/lxml/parser.pxi":1539
* XMLParser.__init__(self,
* attribute_defaults=attribute_defaults,
* dtd_validation=dtd_validation, # <<<<<<<<<<<<<<
* load_dtd=load_dtd,
* no_network=no_network,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtd_validation, __pyx_v_dtd_validation) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtd_validation, __pyx_v_dtd_validation) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1529
+ /* "src/lxml/parser.pxi":1540
* attribute_defaults=attribute_defaults,
* dtd_validation=dtd_validation,
* load_dtd=load_dtd, # <<<<<<<<<<<<<<
* no_network=no_network,
* ns_clean=ns_clean,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_load_dtd, __pyx_v_load_dtd) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_load_dtd, __pyx_v_load_dtd) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1530
+ /* "src/lxml/parser.pxi":1541
* dtd_validation=dtd_validation,
* load_dtd=load_dtd,
* no_network=no_network, # <<<<<<<<<<<<<<
* ns_clean=ns_clean,
* recover=recover,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_no_network, __pyx_v_no_network) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_no_network, __pyx_v_no_network) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1531
+ /* "src/lxml/parser.pxi":1542
* load_dtd=load_dtd,
* no_network=no_network,
* ns_clean=ns_clean, # <<<<<<<<<<<<<<
* recover=recover,
* remove_blank_text=remove_blank_text,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_ns_clean, __pyx_v_ns_clean) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_ns_clean, __pyx_v_ns_clean) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1532
+ /* "src/lxml/parser.pxi":1543
* no_network=no_network,
* ns_clean=ns_clean,
* recover=recover, # <<<<<<<<<<<<<<
* remove_blank_text=remove_blank_text,
* huge_tree=huge_tree,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_recover, __pyx_v_recover) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_recover, __pyx_v_recover) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1533
+ /* "src/lxml/parser.pxi":1544
* ns_clean=ns_clean,
* recover=recover,
* remove_blank_text=remove_blank_text, # <<<<<<<<<<<<<<
* huge_tree=huge_tree,
* compact=compact,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_remove_blank_text, __pyx_v_remove_blank_text) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_remove_blank_text, __pyx_v_remove_blank_text) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1534
+ /* "src/lxml/parser.pxi":1545
* recover=recover,
* remove_blank_text=remove_blank_text,
* huge_tree=huge_tree, # <<<<<<<<<<<<<<
* compact=compact,
* resolve_entities=resolve_entities,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_huge_tree, __pyx_v_huge_tree) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_huge_tree, __pyx_v_huge_tree) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1535
+ /* "src/lxml/parser.pxi":1546
* remove_blank_text=remove_blank_text,
* huge_tree=huge_tree,
* compact=compact, # <<<<<<<<<<<<<<
* resolve_entities=resolve_entities,
* remove_comments=remove_comments,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_compact, __pyx_v_compact) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_compact, __pyx_v_compact) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1536
+ /* "src/lxml/parser.pxi":1547
* huge_tree=huge_tree,
* compact=compact,
* resolve_entities=resolve_entities, # <<<<<<<<<<<<<<
* remove_comments=remove_comments,
* remove_pis=remove_pis,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_resolve_entities, __pyx_v_resolve_entities) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_resolve_entities, __pyx_v_resolve_entities) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1537
+ /* "src/lxml/parser.pxi":1548
* compact=compact,
* resolve_entities=resolve_entities,
* remove_comments=remove_comments, # <<<<<<<<<<<<<<
* remove_pis=remove_pis,
* strip_cdata=strip_cdata,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_remove_comments, __pyx_v_remove_comments) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_remove_comments, __pyx_v_remove_comments) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1538
+ /* "src/lxml/parser.pxi":1549
* resolve_entities=resolve_entities,
* remove_comments=remove_comments,
* remove_pis=remove_pis, # <<<<<<<<<<<<<<
* strip_cdata=strip_cdata,
* target=target,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_remove_pis, __pyx_v_remove_pis) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_remove_pis, __pyx_v_remove_pis) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1539
+ /* "src/lxml/parser.pxi":1550
* remove_comments=remove_comments,
* remove_pis=remove_pis,
* strip_cdata=strip_cdata, # <<<<<<<<<<<<<<
* target=target,
* encoding=encoding,
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_strip_cdata, __pyx_v_strip_cdata) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_strip_cdata, __pyx_v_strip_cdata) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1540
+ /* "src/lxml/parser.pxi":1551
* remove_pis=remove_pis,
* strip_cdata=strip_cdata,
* target=target, # <<<<<<<<<<<<<<
* encoding=encoding,
* schema=schema)
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_target, __pyx_v_target) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_target, __pyx_v_target) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1541
+ /* "src/lxml/parser.pxi":1552
* strip_cdata=strip_cdata,
* target=target,
* encoding=encoding, # <<<<<<<<<<<<<<
* schema=schema)
*
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_encoding, __pyx_v_encoding) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_encoding, __pyx_v_encoding) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1542
+ /* "src/lxml/parser.pxi":1553
* target=target,
* encoding=encoding,
* schema=schema) # <<<<<<<<<<<<<<
*
* # ET 1.2 compatible name
*/
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_schema, __pyx_v_schema) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_schema, __pyx_v_schema) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1526
+ /* "src/lxml/parser.pxi":1537
* remove_comments=True, remove_pis=True, strip_cdata=True,
* target=None, compact=True):
* XMLParser.__init__(self, # <<<<<<<<<<<<<<
* attribute_defaults=attribute_defaults,
* dtd_validation=dtd_validation,
*/
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":1520
+ /* "src/lxml/parser.pxi":1531
* and thus ignores comments and processing instructions.
* """
* def __init__(self, *, encoding=None, attribute_defaults=False, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1553
+/* "src/lxml/parser.pxi":1564
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(__DEFAULT_XML_PARSER)
*
* def set_default_parser(_BaseParser parser=None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_default_parser") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_default_parser") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_default_parser", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("set_default_parser", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree.set_default_parser", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parser), __pyx_ptype_4lxml_5etree__BaseParser, 1, "parser", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parser), __pyx_ptype_4lxml_5etree__BaseParser, 1, "parser", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_42set_default_parser(__pyx_self, __pyx_v_parser);
/* function exit code */
__Pyx_RefNannySetupContext("set_default_parser", 0);
__Pyx_INCREF((PyObject *)__pyx_v_parser);
- /* "src/lxml/parser.pxi":1565
+ /* "src/lxml/parser.pxi":1576
* parser for each thread explicitly or use a parser pool.
* """
* if parser is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1566
+ /* "src/lxml/parser.pxi":1577
* """
* if parser is None:
* parser = __DEFAULT_XML_PARSER # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)__pyx_v_4lxml_5etree___DEFAULT_XML_PARSER));
__Pyx_DECREF_SET(__pyx_v_parser, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_4lxml_5etree___DEFAULT_XML_PARSER));
- /* "src/lxml/parser.pxi":1565
+ /* "src/lxml/parser.pxi":1576
* parser for each thread explicitly or use a parser pool.
* """
* if parser is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1567
+ /* "src/lxml/parser.pxi":1578
* if parser is None:
* parser = __DEFAULT_XML_PARSER
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(parser) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_setDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_parser);
- /* "src/lxml/parser.pxi":1553
+ /* "src/lxml/parser.pxi":1564
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(__DEFAULT_XML_PARSER)
*
* def set_default_parser(_BaseParser parser=None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1569
+/* "src/lxml/parser.pxi":1580
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(parser)
*
* def get_default_parser(): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_default_parser", 0);
- /* "src/lxml/parser.pxi":1571
+ /* "src/lxml/parser.pxi":1582
* def get_default_parser():
* u"get_default_parser()"
* return __GLOBAL_PARSER_CONTEXT.getDefaultParser() # <<<<<<<<<<<<<<
* ############################################################
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_24_ParserDictionaryContext_getDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_24_ParserDictionaryContext_getDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1569
+ /* "src/lxml/parser.pxi":1580
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(parser)
*
* def get_default_parser(): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1616
+/* "src/lxml/parser.pxi":1627
* reasons.
* """
* def __init__(self, *, encoding=None, remove_blank_text=False, # <<<<<<<<<<<<<<
values[0] = ((PyObject *)Py_None);
values[1] = ((PyObject *)Py_False);
- /* "src/lxml/parser.pxi":1617
+ /* "src/lxml/parser.pxi":1628
* """
* def __init__(self, *, encoding=None, remove_blank_text=False,
* remove_comments=False, remove_pis=False, strip_cdata=True, # <<<<<<<<<<<<<<
values[3] = ((PyObject *)Py_False);
values[4] = ((PyObject *)Py_True);
- /* "src/lxml/parser.pxi":1618
+ /* "src/lxml/parser.pxi":1629
* def __init__(self, *, encoding=None, remove_blank_text=False,
* remove_comments=False, remove_pis=False, strip_cdata=True,
* no_network=True, target=None, XMLSchema schema=None, # <<<<<<<<<<<<<<
values[6] = ((PyObject *)Py_None);
values[7] = (PyObject *)((struct __pyx_obj_4lxml_5etree_XMLSchema *)Py_None);
- /* "src/lxml/parser.pxi":1619
+ /* "src/lxml/parser.pxi":1630
* remove_comments=False, remove_pis=False, strip_cdata=True,
* no_network=True, target=None, XMLSchema schema=None,
* recover=True, compact=True): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 0) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.etree.HTMLParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return -1;
__pyx_L4_argument_unpacking_done:;
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_schema), __pyx_ptype_4lxml_5etree_XMLSchema, 1, "schema", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_schema), __pyx_ptype_4lxml_5etree_XMLSchema, 1, "schema", 0))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_5etree_10HTMLParser___init__(((struct __pyx_obj_4lxml_5etree_HTMLParser *)__pyx_v_self), __pyx_v_encoding, __pyx_v_remove_blank_text, __pyx_v_remove_comments, __pyx_v_remove_pis, __pyx_v_strip_cdata, __pyx_v_no_network, __pyx_v_target, __pyx_v_schema, __pyx_v_recover, __pyx_v_compact);
- /* "src/lxml/parser.pxi":1616
+ /* "src/lxml/parser.pxi":1627
* reasons.
* """
* def __init__(self, *, encoding=None, remove_blank_text=False, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__init__", 0);
- /* "src/lxml/parser.pxi":1621
+ /* "src/lxml/parser.pxi":1632
* recover=True, compact=True):
* cdef int parse_options
* parse_options = _HTML_DEFAULT_PARSE_OPTIONS # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = __pyx_v_4lxml_5etree__HTML_DEFAULT_PARSE_OPTIONS;
- /* "src/lxml/parser.pxi":1622
+ /* "src/lxml/parser.pxi":1633
* cdef int parse_options
* parse_options = _HTML_DEFAULT_PARSE_OPTIONS
* if remove_blank_text: # <<<<<<<<<<<<<<
* parse_options = parse_options | htmlparser.HTML_PARSE_NOBLANKS
* if not recover:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_remove_blank_text); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_remove_blank_text); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1623
+ /* "src/lxml/parser.pxi":1634
* parse_options = _HTML_DEFAULT_PARSE_OPTIONS
* if remove_blank_text:
* parse_options = parse_options | htmlparser.HTML_PARSE_NOBLANKS # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options | HTML_PARSE_NOBLANKS);
- /* "src/lxml/parser.pxi":1622
+ /* "src/lxml/parser.pxi":1633
* cdef int parse_options
* parse_options = _HTML_DEFAULT_PARSE_OPTIONS
* if remove_blank_text: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1624
+ /* "src/lxml/parser.pxi":1635
* if remove_blank_text:
* parse_options = parse_options | htmlparser.HTML_PARSE_NOBLANKS
* if not recover: # <<<<<<<<<<<<<<
* parse_options = parse_options ^ htmlparser.HTML_PARSE_RECOVER
* if not no_network:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_recover); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_recover); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1625
+ /* "src/lxml/parser.pxi":1636
* parse_options = parse_options | htmlparser.HTML_PARSE_NOBLANKS
* if not recover:
* parse_options = parse_options ^ htmlparser.HTML_PARSE_RECOVER # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options ^ HTML_PARSE_RECOVER);
- /* "src/lxml/parser.pxi":1624
+ /* "src/lxml/parser.pxi":1635
* if remove_blank_text:
* parse_options = parse_options | htmlparser.HTML_PARSE_NOBLANKS
* if not recover: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1626
+ /* "src/lxml/parser.pxi":1637
* if not recover:
* parse_options = parse_options ^ htmlparser.HTML_PARSE_RECOVER
* if not no_network: # <<<<<<<<<<<<<<
* parse_options = parse_options ^ htmlparser.HTML_PARSE_NONET
* if not compact:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_no_network); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_no_network); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1637; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = ((!__pyx_t_2) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1627
+ /* "src/lxml/parser.pxi":1638
* parse_options = parse_options ^ htmlparser.HTML_PARSE_RECOVER
* if not no_network:
* parse_options = parse_options ^ htmlparser.HTML_PARSE_NONET # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options ^ HTML_PARSE_NONET);
- /* "src/lxml/parser.pxi":1626
+ /* "src/lxml/parser.pxi":1637
* if not recover:
* parse_options = parse_options ^ htmlparser.HTML_PARSE_RECOVER
* if not no_network: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1628
+ /* "src/lxml/parser.pxi":1639
* if not no_network:
* parse_options = parse_options ^ htmlparser.HTML_PARSE_NONET
* if not compact: # <<<<<<<<<<<<<<
* parse_options = parse_options ^ htmlparser.HTML_PARSE_COMPACT
*
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_compact); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1628; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_compact); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = ((!__pyx_t_1) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1629
+ /* "src/lxml/parser.pxi":1640
* parse_options = parse_options ^ htmlparser.HTML_PARSE_NONET
* if not compact:
* parse_options = parse_options ^ htmlparser.HTML_PARSE_COMPACT # <<<<<<<<<<<<<<
*/
__pyx_v_parse_options = (__pyx_v_parse_options ^ HTML_PARSE_COMPACT);
- /* "src/lxml/parser.pxi":1628
+ /* "src/lxml/parser.pxi":1639
* if not no_network:
* parse_options = parse_options ^ htmlparser.HTML_PARSE_NONET
* if not compact: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1631
+ /* "src/lxml/parser.pxi":1642
* parse_options = parse_options ^ htmlparser.HTML_PARSE_COMPACT
*
* _BaseParser.__init__(self, parse_options, 1, schema, # <<<<<<<<<<<<<<
* remove_comments, remove_pis, strip_cdata, True,
* target, encoding)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__BaseParser), __pyx_n_s_init); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree__BaseParser), __pyx_n_s_init); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_parse_options); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_parse_options); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- /* "src/lxml/parser.pxi":1633
+ /* "src/lxml/parser.pxi":1644
* _BaseParser.__init__(self, parse_options, 1, schema,
* remove_comments, remove_pis, strip_cdata, True,
* target, encoding) # <<<<<<<<<<<<<<
__pyx_t_7 = 1;
}
}
- __pyx_t_8 = PyTuple_New(10+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyTuple_New(10+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_GIVEREF(__pyx_v_encoding);
PyTuple_SET_ITEM(__pyx_t_8, 9+__pyx_t_7, __pyx_v_encoding);
__pyx_t_5 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1631; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1616
+ /* "src/lxml/parser.pxi":1627
* reasons.
* """
* def __init__(self, *, encoding=None, remove_blank_text=False, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1658
+/* "src/lxml/parser.pxi":1669
* source, you can pass the ``base_url``.
* """
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1658; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1658; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
__Pyx_AddTraceback("lxml.etree.HTMLPullParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannySetupContext("__init__", 0);
__Pyx_INCREF(__pyx_v_events);
- /* "src/lxml/parser.pxi":1659
+ /* "src/lxml/parser.pxi":1670
* """
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs):
* HTMLParser.__init__(self, **kwargs) # <<<<<<<<<<<<<<
* if events is None:
* events = ('end',)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree_HTMLParser), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4lxml_5etree_HTMLParser), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_v_self));
__Pyx_GIVEREF(((PyObject *)__pyx_v_self));
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self));
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1660
+ /* "src/lxml/parser.pxi":1671
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs):
* HTMLParser.__init__(self, **kwargs)
* if events is None: # <<<<<<<<<<<<<<
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
- /* "src/lxml/parser.pxi":1661
+ /* "src/lxml/parser.pxi":1672
* HTMLParser.__init__(self, **kwargs)
* if events is None:
* events = ('end',) # <<<<<<<<<<<<<<
* self._setBaseURL(base_url)
* self._collectEvents(events, tag)
*/
- __Pyx_INCREF(__pyx_tuple__62);
- __Pyx_DECREF_SET(__pyx_v_events, __pyx_tuple__62);
+ __Pyx_INCREF(__pyx_tuple__63);
+ __Pyx_DECREF_SET(__pyx_v_events, __pyx_tuple__63);
- /* "src/lxml/parser.pxi":1660
+ /* "src/lxml/parser.pxi":1671
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs):
* HTMLParser.__init__(self, **kwargs)
* if events is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1662
+ /* "src/lxml/parser.pxi":1673
* if events is None:
* events = ('end',)
* self._setBaseURL(base_url) # <<<<<<<<<<<<<<
* self._collectEvents(events, tag)
*
*/
- __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree_HTMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._setBaseURL(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_base_url); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree_HTMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._setBaseURL(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_base_url); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1663
+ /* "src/lxml/parser.pxi":1674
* events = ('end',)
* self._setBaseURL(base_url)
* self._collectEvents(events, tag) # <<<<<<<<<<<<<<
*
* def read_events(self):
*/
- __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree_HTMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._collectEvents(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_events, __pyx_v_tag); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1663; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree_HTMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._collectEvents(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self), __pyx_v_events, __pyx_v_tag); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1658
+ /* "src/lxml/parser.pxi":1669
* source, you can pass the ``base_url``.
* """
* def __init__(self, events=None, *, tag=None, base_url=None, **kwargs): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1665
+/* "src/lxml/parser.pxi":1676
* self._collectEvents(events, tag)
*
* def read_events(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("read_events", 0);
- /* "src/lxml/parser.pxi":1666
+ /* "src/lxml/parser.pxi":1677
*
* def read_events(self):
* return (<_SaxParserContext?>self._getPushParserContext()).events_iterator # <<<<<<<<<<<<<<
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree_HTMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_4lxml_5etree_HTMLPullParser *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.__pyx_base._getPushParserContext(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__SaxParserContext)))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__SaxParserContext)))) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_INCREF(((PyObject *)((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_t_1)->events_iterator));
__pyx_r = ((PyObject *)((struct __pyx_obj_4lxml_5etree__SaxParserContext *)__pyx_t_1)->events_iterator);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1665
+ /* "src/lxml/parser.pxi":1676
* self._collectEvents(events, tag)
*
* def read_events(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1673
+/* "src/lxml/parser.pxi":1684
* ############################################################
*
* cdef xmlDoc* _parseDoc(text, filename, _BaseParser parser) except NULL: # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_text);
__Pyx_INCREF((PyObject *)__pyx_v_parser);
- /* "src/lxml/parser.pxi":1678
+ /* "src/lxml/parser.pxi":1689
* cdef Py_ssize_t c_len
* cdef bint is_pep393_string
* if parser is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1679
+ /* "src/lxml/parser.pxi":1690
* cdef bint is_pep393_string
* if parser is None:
* parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser() # <<<<<<<<<<<<<<
* if not filename:
* c_filename = NULL
*/
- __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree_24_ParserDictionaryContext_getDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree_24_ParserDictionaryContext_getDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1690; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_parser, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_t_3));
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1678
+ /* "src/lxml/parser.pxi":1689
* cdef Py_ssize_t c_len
* cdef bint is_pep393_string
* if parser is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1680
+ /* "src/lxml/parser.pxi":1691
* if parser is None:
* parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser()
* if not filename: # <<<<<<<<<<<<<<
* c_filename = NULL
* else:
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_filename); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_filename); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1691; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = ((!__pyx_t_2) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1681
+ /* "src/lxml/parser.pxi":1692
* parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser()
* if not filename:
* c_filename = NULL # <<<<<<<<<<<<<<
*/
__pyx_v_c_filename = NULL;
- /* "src/lxml/parser.pxi":1680
+ /* "src/lxml/parser.pxi":1691
* if parser is None:
* parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser()
* if not filename: # <<<<<<<<<<<<<<
goto __pyx_L4;
}
- /* "src/lxml/parser.pxi":1683
+ /* "src/lxml/parser.pxi":1694
* c_filename = NULL
* else:
* filename_utf = _encodeFilenameUTF8(filename) # <<<<<<<<<<<<<<
* if isinstance(text, unicode):
*/
/*else*/ {
- __pyx_t_3 = __pyx_f_4lxml_5etree__encodeFilenameUTF8(__pyx_v_filename); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1683; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __pyx_f_4lxml_5etree__encodeFilenameUTF8(__pyx_v_filename); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_filename_utf = __pyx_t_3;
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1684
+ /* "src/lxml/parser.pxi":1695
* else:
* filename_utf = _encodeFilenameUTF8(filename)
* c_filename = _cstr(filename_utf) # <<<<<<<<<<<<<<
}
__pyx_L4:;
- /* "src/lxml/parser.pxi":1685
+ /* "src/lxml/parser.pxi":1696
* filename_utf = _encodeFilenameUTF8(filename)
* c_filename = _cstr(filename_utf)
* if isinstance(text, unicode): # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1687
+ /* "src/lxml/parser.pxi":1698
* if isinstance(text, unicode):
* is_pep393_string = (
* python.PEP393_ENABLED and python.PyUnicode_IS_READY(text)) # <<<<<<<<<<<<<<
__pyx_L6_bool_binop_done:;
__pyx_v_is_pep393_string = __pyx_t_2;
- /* "src/lxml/parser.pxi":1688
+ /* "src/lxml/parser.pxi":1699
* is_pep393_string = (
* python.PEP393_ENABLED and python.PyUnicode_IS_READY(text))
* if is_pep393_string: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_is_pep393_string != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1689
+ /* "src/lxml/parser.pxi":1700
* python.PEP393_ENABLED and python.PyUnicode_IS_READY(text))
* if is_pep393_string:
* c_len = python.PyUnicode_GET_LENGTH(text) # <<<<<<<<<<<<<<
*/
__pyx_v_c_len = PyUnicode_GET_LENGTH(__pyx_v_text);
- /* "src/lxml/parser.pxi":1690
+ /* "src/lxml/parser.pxi":1701
* if is_pep393_string:
* c_len = python.PyUnicode_GET_LENGTH(text)
* c_len *= python.PyUnicode_KIND(text) # <<<<<<<<<<<<<<
*/
__pyx_v_c_len = (__pyx_v_c_len * PyUnicode_KIND(__pyx_v_text));
- /* "src/lxml/parser.pxi":1688
+ /* "src/lxml/parser.pxi":1699
* is_pep393_string = (
* python.PEP393_ENABLED and python.PyUnicode_IS_READY(text))
* if is_pep393_string: # <<<<<<<<<<<<<<
goto __pyx_L8;
}
- /* "src/lxml/parser.pxi":1692
+ /* "src/lxml/parser.pxi":1703
* c_len *= python.PyUnicode_KIND(text)
* else:
* c_len = python.PyUnicode_GET_DATA_SIZE(text) # <<<<<<<<<<<<<<
}
__pyx_L8:;
- /* "src/lxml/parser.pxi":1693
+ /* "src/lxml/parser.pxi":1704
* else:
* c_len = python.PyUnicode_GET_DATA_SIZE(text)
* if c_len > limits.INT_MAX: # <<<<<<<<<<<<<<
__pyx_t_2 = ((__pyx_v_c_len > INT_MAX) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1695
+ /* "src/lxml/parser.pxi":1706
* if c_len > limits.INT_MAX:
* return (<_BaseParser>parser)._parseDocFromFilelike(
* StringIO(text), filename, None) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_5) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_text); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_text); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_INCREF(__pyx_v_text);
__Pyx_GIVEREF(__pyx_v_text);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_text);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":1694
+ /* "src/lxml/parser.pxi":1705
* c_len = python.PyUnicode_GET_DATA_SIZE(text)
* if c_len > limits.INT_MAX:
* return (<_BaseParser>parser)._parseDocFromFilelike( # <<<<<<<<<<<<<<
* StringIO(text), filename, None)
* if _UNICODE_ENCODING is NULL and not is_pep393_string:
*/
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFilelike(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_t_3, __pyx_v_filename, Py_None); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFilelike(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_t_3, __pyx_v_filename, Py_None); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_7;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1693
+ /* "src/lxml/parser.pxi":1704
* else:
* c_len = python.PyUnicode_GET_DATA_SIZE(text)
* if c_len > limits.INT_MAX: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1696
+ /* "src/lxml/parser.pxi":1707
* return (<_BaseParser>parser)._parseDocFromFilelike(
* StringIO(text), filename, None)
* if _UNICODE_ENCODING is NULL and not is_pep393_string: # <<<<<<<<<<<<<<
__pyx_L11_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1697
+ /* "src/lxml/parser.pxi":1708
* StringIO(text), filename, None)
* if _UNICODE_ENCODING is NULL and not is_pep393_string:
* text = (<unicode>text).encode('utf8') # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_text == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "encode");
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_3 = PyUnicode_AsUTF8String(((PyObject*)__pyx_v_text)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyUnicode_AsUTF8String(((PyObject*)__pyx_v_text)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1708; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_text, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1699
+ /* "src/lxml/parser.pxi":1710
* text = (<unicode>text).encode('utf8')
* return (<_BaseParser>parser)._parseDocFromFilelike(
* BytesIO(text), filename, "UTF-8") # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_6) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_text); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1699; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_text); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
} else {
- __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1699; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_INCREF(__pyx_v_text);
__Pyx_GIVEREF(__pyx_v_text);
PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_text);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1699; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":1698
+ /* "src/lxml/parser.pxi":1709
* if _UNICODE_ENCODING is NULL and not is_pep393_string:
* text = (<unicode>text).encode('utf8')
* return (<_BaseParser>parser)._parseDocFromFilelike( # <<<<<<<<<<<<<<
* BytesIO(text), filename, "UTF-8")
* return (<_BaseParser>parser)._parseUnicodeDoc(text, c_filename)
*/
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFilelike(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_t_3, __pyx_v_filename, __pyx_kp_s_UTF_8); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFilelike(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_t_3, __pyx_v_filename, __pyx_kp_s_UTF_8); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1709; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_7;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1696
+ /* "src/lxml/parser.pxi":1707
* return (<_BaseParser>parser)._parseDocFromFilelike(
* StringIO(text), filename, None)
* if _UNICODE_ENCODING is NULL and not is_pep393_string: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1700
+ /* "src/lxml/parser.pxi":1711
* return (<_BaseParser>parser)._parseDocFromFilelike(
* BytesIO(text), filename, "UTF-8")
* return (<_BaseParser>parser)._parseUnicodeDoc(text, c_filename) # <<<<<<<<<<<<<<
* else:
* c_len = python.PyBytes_GET_SIZE(text)
*/
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseUnicodeDoc(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_v_text, __pyx_v_c_filename); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseUnicodeDoc(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_v_text, __pyx_v_c_filename); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1711; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_7;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1685
+ /* "src/lxml/parser.pxi":1696
* filename_utf = _encodeFilenameUTF8(filename)
* c_filename = _cstr(filename_utf)
* if isinstance(text, unicode): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1702
+ /* "src/lxml/parser.pxi":1713
* return (<_BaseParser>parser)._parseUnicodeDoc(text, c_filename)
* else:
* c_len = python.PyBytes_GET_SIZE(text) # <<<<<<<<<<<<<<
/*else*/ {
__pyx_v_c_len = PyBytes_GET_SIZE(__pyx_v_text);
- /* "src/lxml/parser.pxi":1703
+ /* "src/lxml/parser.pxi":1714
* else:
* c_len = python.PyBytes_GET_SIZE(text)
* if c_len > limits.INT_MAX: # <<<<<<<<<<<<<<
__pyx_t_2 = ((__pyx_v_c_len > INT_MAX) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1705
+ /* "src/lxml/parser.pxi":1716
* if c_len > limits.INT_MAX:
* return (<_BaseParser>parser)._parseDocFromFilelike(
* BytesIO(text), filename, None) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_5) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_text); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_text); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_INCREF(__pyx_v_text);
__Pyx_GIVEREF(__pyx_v_text);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_text);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/parser.pxi":1704
+ /* "src/lxml/parser.pxi":1715
* c_len = python.PyBytes_GET_SIZE(text)
* if c_len > limits.INT_MAX:
* return (<_BaseParser>parser)._parseDocFromFilelike( # <<<<<<<<<<<<<<
* BytesIO(text), filename, None)
* c_text = _cstr(text)
*/
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFilelike(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_t_3, __pyx_v_filename, Py_None); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFilelike(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_t_3, __pyx_v_filename, Py_None); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_7;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1703
+ /* "src/lxml/parser.pxi":1714
* else:
* c_len = python.PyBytes_GET_SIZE(text)
* if c_len > limits.INT_MAX: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1706
+ /* "src/lxml/parser.pxi":1717
* return (<_BaseParser>parser)._parseDocFromFilelike(
* BytesIO(text), filename, None)
* c_text = _cstr(text) # <<<<<<<<<<<<<<
*/
__pyx_v_c_text = PyBytes_AS_STRING(__pyx_v_text);
- /* "src/lxml/parser.pxi":1707
+ /* "src/lxml/parser.pxi":1718
* BytesIO(text), filename, None)
* c_text = _cstr(text)
* return (<_BaseParser>parser)._parseDoc(c_text, c_len, c_filename) # <<<<<<<<<<<<<<
*
* cdef xmlDoc* _parseDocFromFile(filename8, _BaseParser parser) except NULL:
*/
- __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDoc(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_v_c_text, __pyx_v_c_len, __pyx_v_c_filename); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDoc(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_v_c_text, __pyx_v_c_len, __pyx_v_c_filename); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_7;
goto __pyx_L0;
}
- /* "src/lxml/parser.pxi":1673
+ /* "src/lxml/parser.pxi":1684
* ############################################################
*
* cdef xmlDoc* _parseDoc(text, filename, _BaseParser parser) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1709
+/* "src/lxml/parser.pxi":1720
* return (<_BaseParser>parser)._parseDoc(c_text, c_len, c_filename)
*
* cdef xmlDoc* _parseDocFromFile(filename8, _BaseParser parser) except NULL: # <<<<<<<<<<<<<<
__Pyx_RefNannySetupContext("_parseDocFromFile", 0);
__Pyx_INCREF((PyObject *)__pyx_v_parser);
- /* "src/lxml/parser.pxi":1710
+ /* "src/lxml/parser.pxi":1721
*
* cdef xmlDoc* _parseDocFromFile(filename8, _BaseParser parser) except NULL:
* if parser is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1711
+ /* "src/lxml/parser.pxi":1722
* cdef xmlDoc* _parseDocFromFile(filename8, _BaseParser parser) except NULL:
* if parser is None:
* parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser() # <<<<<<<<<<<<<<
* return (<_BaseParser>parser)._parseDocFromFile(_cstr(filename8))
*
*/
- __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree_24_ParserDictionaryContext_getDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1711; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree_24_ParserDictionaryContext_getDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_parser, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_t_3));
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1710
+ /* "src/lxml/parser.pxi":1721
*
* cdef xmlDoc* _parseDocFromFile(filename8, _BaseParser parser) except NULL:
* if parser is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1712
+ /* "src/lxml/parser.pxi":1723
* if parser is None:
* parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser()
* return (<_BaseParser>parser)._parseDocFromFile(_cstr(filename8)) # <<<<<<<<<<<<<<
*
* cdef xmlDoc* _parseDocFromFilelike(source, filename,
*/
- __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFile(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), PyBytes_AS_STRING(__pyx_v_filename8)); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1712; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFile(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), PyBytes_AS_STRING(__pyx_v_filename8)); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_4;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1709
+ /* "src/lxml/parser.pxi":1720
* return (<_BaseParser>parser)._parseDoc(c_text, c_len, c_filename)
*
* cdef xmlDoc* _parseDocFromFile(filename8, _BaseParser parser) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1714
+/* "src/lxml/parser.pxi":1725
* return (<_BaseParser>parser)._parseDocFromFile(_cstr(filename8))
*
* cdef xmlDoc* _parseDocFromFilelike(source, filename, # <<<<<<<<<<<<<<
__Pyx_RefNannySetupContext("_parseDocFromFilelike", 0);
__Pyx_INCREF((PyObject *)__pyx_v_parser);
- /* "src/lxml/parser.pxi":1716
+ /* "src/lxml/parser.pxi":1727
* cdef xmlDoc* _parseDocFromFilelike(source, filename,
* _BaseParser parser) except NULL:
* if parser is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1717
+ /* "src/lxml/parser.pxi":1728
* _BaseParser parser) except NULL:
* if parser is None:
* parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser() # <<<<<<<<<<<<<<
* return (<_BaseParser>parser)._parseDocFromFilelike(source, filename, None)
*
*/
- __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree_24_ParserDictionaryContext_getDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree_24_ParserDictionaryContext_getDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_parser, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_t_3));
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1716
+ /* "src/lxml/parser.pxi":1727
* cdef xmlDoc* _parseDocFromFilelike(source, filename,
* _BaseParser parser) except NULL:
* if parser is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1718
+ /* "src/lxml/parser.pxi":1729
* if parser is None:
* parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser()
* return (<_BaseParser>parser)._parseDocFromFilelike(source, filename, None) # <<<<<<<<<<<<<<
*
* cdef xmlDoc* _newXMLDoc() except NULL:
*/
- __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFilelike(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_v_source, __pyx_v_filename, Py_None); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((struct __pyx_vtabstruct_4lxml_5etree__BaseParser *)((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser)->__pyx_vtab)->_parseDocFromFilelike(((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_v_parser), __pyx_v_source, __pyx_v_filename, Py_None); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1729; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_t_4;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1714
+ /* "src/lxml/parser.pxi":1725
* return (<_BaseParser>parser)._parseDocFromFile(_cstr(filename8))
*
* cdef xmlDoc* _parseDocFromFilelike(source, filename, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1720
+/* "src/lxml/parser.pxi":1731
* return (<_BaseParser>parser)._parseDocFromFilelike(source, filename, None)
*
* cdef xmlDoc* _newXMLDoc() except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_newXMLDoc", 0);
- /* "src/lxml/parser.pxi":1722
+ /* "src/lxml/parser.pxi":1733
* cdef xmlDoc* _newXMLDoc() except NULL:
* cdef xmlDoc* result
* result = tree.xmlNewDoc(NULL) # <<<<<<<<<<<<<<
*/
__pyx_v_result = xmlNewDoc(NULL);
- /* "src/lxml/parser.pxi":1723
+ /* "src/lxml/parser.pxi":1734
* cdef xmlDoc* result
* result = tree.xmlNewDoc(NULL)
* if result is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1724
+ /* "src/lxml/parser.pxi":1735
* result = tree.xmlNewDoc(NULL)
* if result is NULL:
* raise MemoryError() # <<<<<<<<<<<<<<
* if result.encoding is NULL:
* result.encoding = tree.xmlStrdup(<unsigned char*>"UTF-8")
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1723
+ /* "src/lxml/parser.pxi":1734
* cdef xmlDoc* result
* result = tree.xmlNewDoc(NULL)
* if result is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1725
+ /* "src/lxml/parser.pxi":1736
* if result is NULL:
* raise MemoryError()
* if result.encoding is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result->encoding == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1726
+ /* "src/lxml/parser.pxi":1737
* raise MemoryError()
* if result.encoding is NULL:
* result.encoding = tree.xmlStrdup(<unsigned char*>"UTF-8") # <<<<<<<<<<<<<<
*/
__pyx_v_result->encoding = xmlStrdup(((unsigned char *)((unsigned char *)__pyx_k_UTF_8)));
- /* "src/lxml/parser.pxi":1725
+ /* "src/lxml/parser.pxi":1736
* if result is NULL:
* raise MemoryError()
* if result.encoding is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1727
+ /* "src/lxml/parser.pxi":1738
* if result.encoding is NULL:
* result.encoding = tree.xmlStrdup(<unsigned char*>"UTF-8")
* __GLOBAL_PARSER_CONTEXT.initDocDict(result) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initDocDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_result);
- /* "src/lxml/parser.pxi":1728
+ /* "src/lxml/parser.pxi":1739
* result.encoding = tree.xmlStrdup(<unsigned char*>"UTF-8")
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
* return result # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1720
+ /* "src/lxml/parser.pxi":1731
* return (<_BaseParser>parser)._parseDocFromFilelike(source, filename, None)
*
* cdef xmlDoc* _newXMLDoc() except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1730
+/* "src/lxml/parser.pxi":1741
* return result
*
* cdef xmlDoc* _newHTMLDoc() except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_newHTMLDoc", 0);
- /* "src/lxml/parser.pxi":1732
+ /* "src/lxml/parser.pxi":1743
* cdef xmlDoc* _newHTMLDoc() except NULL:
* cdef xmlDoc* result
* result = tree.htmlNewDoc(NULL, NULL) # <<<<<<<<<<<<<<
*/
__pyx_v_result = htmlNewDoc(NULL, NULL);
- /* "src/lxml/parser.pxi":1733
+ /* "src/lxml/parser.pxi":1744
* cdef xmlDoc* result
* result = tree.htmlNewDoc(NULL, NULL)
* if result is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1734
+ /* "src/lxml/parser.pxi":1745
* result = tree.htmlNewDoc(NULL, NULL)
* if result is NULL:
* raise MemoryError() # <<<<<<<<<<<<<<
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
* return result
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1733
+ /* "src/lxml/parser.pxi":1744
* cdef xmlDoc* result
* result = tree.htmlNewDoc(NULL, NULL)
* if result is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1735
+ /* "src/lxml/parser.pxi":1746
* if result is NULL:
* raise MemoryError()
* __GLOBAL_PARSER_CONTEXT.initDocDict(result) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initDocDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_result);
- /* "src/lxml/parser.pxi":1736
+ /* "src/lxml/parser.pxi":1747
* raise MemoryError()
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
* return result # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1730
+ /* "src/lxml/parser.pxi":1741
* return result
*
* cdef xmlDoc* _newHTMLDoc() except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1738
+/* "src/lxml/parser.pxi":1749
* return result
*
* cdef xmlDoc* _copyDoc(xmlDoc* c_doc, int recursive) except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copyDoc", 0);
- /* "src/lxml/parser.pxi":1740
+ /* "src/lxml/parser.pxi":1751
* cdef xmlDoc* _copyDoc(xmlDoc* c_doc, int recursive) except NULL:
* cdef xmlDoc* result
* if recursive: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_recursive != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1741
+ /* "src/lxml/parser.pxi":1752
* cdef xmlDoc* result
* if recursive:
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":1742
+ /* "src/lxml/parser.pxi":1753
* if recursive:
* with nogil:
* result = tree.xmlCopyDoc(c_doc, recursive) # <<<<<<<<<<<<<<
__pyx_v_result = xmlCopyDoc(__pyx_v_c_doc, __pyx_v_recursive);
}
- /* "src/lxml/parser.pxi":1741
+ /* "src/lxml/parser.pxi":1752
* cdef xmlDoc* result
* if recursive:
* with nogil: # <<<<<<<<<<<<<<
}
}
- /* "src/lxml/parser.pxi":1740
+ /* "src/lxml/parser.pxi":1751
* cdef xmlDoc* _copyDoc(xmlDoc* c_doc, int recursive) except NULL:
* cdef xmlDoc* result
* if recursive: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":1744
+ /* "src/lxml/parser.pxi":1755
* result = tree.xmlCopyDoc(c_doc, recursive)
* else:
* result = tree.xmlCopyDoc(c_doc, 0) # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":1745
+ /* "src/lxml/parser.pxi":1756
* else:
* result = tree.xmlCopyDoc(c_doc, 0)
* if result is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_result == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1746
+ /* "src/lxml/parser.pxi":1757
* result = tree.xmlCopyDoc(c_doc, 0)
* if result is NULL:
* raise MemoryError() # <<<<<<<<<<<<<<
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
* return result
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1746; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1757; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1745
+ /* "src/lxml/parser.pxi":1756
* else:
* result = tree.xmlCopyDoc(c_doc, 0)
* if result is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1747
+ /* "src/lxml/parser.pxi":1758
* if result is NULL:
* raise MemoryError()
* __GLOBAL_PARSER_CONTEXT.initDocDict(result) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initDocDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_result);
- /* "src/lxml/parser.pxi":1748
+ /* "src/lxml/parser.pxi":1759
* raise MemoryError()
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
* return result # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1738
+ /* "src/lxml/parser.pxi":1749
* return result
*
* cdef xmlDoc* _copyDoc(xmlDoc* c_doc, int recursive) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1750
+/* "src/lxml/parser.pxi":1761
* return result
*
* cdef xmlDoc* _copyDocRoot(xmlDoc* c_doc, xmlNode* c_new_root) except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copyDocRoot", 0);
- /* "src/lxml/parser.pxi":1754
+ /* "src/lxml/parser.pxi":1765
* cdef xmlDoc* result
* cdef xmlNode* c_node
* result = tree.xmlCopyDoc(c_doc, 0) # non recursive # <<<<<<<<<<<<<<
*/
__pyx_v_result = xmlCopyDoc(__pyx_v_c_doc, 0);
- /* "src/lxml/parser.pxi":1755
+ /* "src/lxml/parser.pxi":1766
* cdef xmlNode* c_node
* result = tree.xmlCopyDoc(c_doc, 0) # non recursive
* __GLOBAL_PARSER_CONTEXT.initDocDict(result) # <<<<<<<<<<<<<<
*/
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_initDocDict(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, __pyx_v_result);
- /* "src/lxml/parser.pxi":1756
+ /* "src/lxml/parser.pxi":1767
* result = tree.xmlCopyDoc(c_doc, 0) # non recursive
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
* with nogil: # <<<<<<<<<<<<<<
#endif
/*try:*/ {
- /* "src/lxml/parser.pxi":1757
+ /* "src/lxml/parser.pxi":1768
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
* with nogil:
* c_node = tree.xmlDocCopyNode(c_new_root, result, 1) # recursive # <<<<<<<<<<<<<<
__pyx_v_c_node = xmlDocCopyNode(__pyx_v_c_new_root, __pyx_v_result, 1);
}
- /* "src/lxml/parser.pxi":1756
+ /* "src/lxml/parser.pxi":1767
* result = tree.xmlCopyDoc(c_doc, 0) # non recursive
* __GLOBAL_PARSER_CONTEXT.initDocDict(result)
* with nogil: # <<<<<<<<<<<<<<
}
}
- /* "src/lxml/parser.pxi":1758
+ /* "src/lxml/parser.pxi":1769
* with nogil:
* c_node = tree.xmlDocCopyNode(c_new_root, result, 1) # recursive
* if c_node is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_node == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1759
+ /* "src/lxml/parser.pxi":1770
* c_node = tree.xmlDocCopyNode(c_new_root, result, 1) # recursive
* if c_node is NULL:
* raise MemoryError() # <<<<<<<<<<<<<<
* tree.xmlDocSetRootElement(result, c_node)
* _copyTail(c_new_root.next, c_node)
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1758
+ /* "src/lxml/parser.pxi":1769
* with nogil:
* c_node = tree.xmlDocCopyNode(c_new_root, result, 1) # recursive
* if c_node is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1760
+ /* "src/lxml/parser.pxi":1771
* if c_node is NULL:
* raise MemoryError()
* tree.xmlDocSetRootElement(result, c_node) # <<<<<<<<<<<<<<
*/
xmlDocSetRootElement(__pyx_v_result, __pyx_v_c_node);
- /* "src/lxml/parser.pxi":1761
+ /* "src/lxml/parser.pxi":1772
* raise MemoryError()
* tree.xmlDocSetRootElement(result, c_node)
* _copyTail(c_new_root.next, c_node) # <<<<<<<<<<<<<<
* return result
*
*/
- __pyx_t_2 = __pyx_f_4lxml_5etree__copyTail(__pyx_v_c_new_root->next, __pyx_v_c_node); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_5etree__copyTail(__pyx_v_c_new_root->next, __pyx_v_c_node); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1762
+ /* "src/lxml/parser.pxi":1773
* tree.xmlDocSetRootElement(result, c_node)
* _copyTail(c_new_root.next, c_node)
* return result # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_result;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1750
+ /* "src/lxml/parser.pxi":1761
* return result
*
* cdef xmlDoc* _copyDocRoot(xmlDoc* c_doc, xmlNode* c_new_root) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1764
+/* "src/lxml/parser.pxi":1775
* return result
*
* cdef xmlNode* _copyNodeToDoc(xmlNode* c_node, xmlDoc* c_doc) except NULL: # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_copyNodeToDoc", 0);
- /* "src/lxml/parser.pxi":1767
+ /* "src/lxml/parser.pxi":1778
* u"Recursively copy the element into the document. c_doc is not modified."
* cdef xmlNode* c_root
* c_root = tree.xmlDocCopyNode(c_node, c_doc, 1) # recursive # <<<<<<<<<<<<<<
*/
__pyx_v_c_root = xmlDocCopyNode(__pyx_v_c_node, __pyx_v_c_doc, 1);
- /* "src/lxml/parser.pxi":1768
+ /* "src/lxml/parser.pxi":1779
* cdef xmlNode* c_root
* c_root = tree.xmlDocCopyNode(c_node, c_doc, 1) # recursive
* if c_root is NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_root == NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1769
+ /* "src/lxml/parser.pxi":1780
* c_root = tree.xmlDocCopyNode(c_node, c_doc, 1) # recursive
* if c_root is NULL:
* raise MemoryError() # <<<<<<<<<<<<<<
* _copyTail(c_node.next, c_root)
* return c_root
*/
- PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyErr_NoMemory(); {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1768
+ /* "src/lxml/parser.pxi":1779
* cdef xmlNode* c_root
* c_root = tree.xmlDocCopyNode(c_node, c_doc, 1) # recursive
* if c_root is NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1770
+ /* "src/lxml/parser.pxi":1781
* if c_root is NULL:
* raise MemoryError()
* _copyTail(c_node.next, c_root) # <<<<<<<<<<<<<<
* return c_root
*
*/
- __pyx_t_2 = __pyx_f_4lxml_5etree__copyTail(__pyx_v_c_node->next, __pyx_v_c_root); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_5etree__copyTail(__pyx_v_c_node->next, __pyx_v_c_root); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1771
+ /* "src/lxml/parser.pxi":1782
* raise MemoryError()
* _copyTail(c_node.next, c_root)
* return c_root # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_c_root;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1764
+ /* "src/lxml/parser.pxi":1775
* return result
*
* cdef xmlNode* _copyNodeToDoc(xmlNode* c_node, xmlDoc* c_doc) except NULL: # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1778
+/* "src/lxml/parser.pxi":1789
* ############################################################
*
* cdef _Document _parseDocument(source, _BaseParser parser, base_url): # <<<<<<<<<<<<<<
__Pyx_RefNannySetupContext("_parseDocument", 0);
__Pyx_INCREF(__pyx_v_base_url);
- /* "src/lxml/parser.pxi":1780
+ /* "src/lxml/parser.pxi":1791
* cdef _Document _parseDocument(source, _BaseParser parser, base_url):
* cdef _Document doc
* if _isString(source): # <<<<<<<<<<<<<<
__pyx_t_1 = (_isString(__pyx_v_source) != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1782
+ /* "src/lxml/parser.pxi":1793
* if _isString(source):
* # parse the file directly from the filesystem
* doc = _parseDocumentFromURL(_encodeFilename(source), parser) # <<<<<<<<<<<<<<
* # fix base URL if requested
* if base_url is not None:
*/
- __pyx_t_2 = __pyx_f_4lxml_5etree__encodeFilename(__pyx_v_source); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1782; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_5etree__encodeFilename(__pyx_v_source); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree__parseDocumentFromURL(__pyx_t_2, __pyx_v_parser)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1782; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree__parseDocumentFromURL(__pyx_t_2, __pyx_v_parser)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_doc = ((struct LxmlDocument *)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1784
+ /* "src/lxml/parser.pxi":1795
* doc = _parseDocumentFromURL(_encodeFilename(source), parser)
* # fix base URL if requested
* if base_url is not None: # <<<<<<<<<<<<<<
__pyx_t_4 = (__pyx_t_1 != 0);
if (__pyx_t_4) {
- /* "src/lxml/parser.pxi":1785
+ /* "src/lxml/parser.pxi":1796
* # fix base URL if requested
* if base_url is not None:
* base_url = _encodeFilenameUTF8(base_url) # <<<<<<<<<<<<<<
* if doc._c_doc.URL is not NULL:
* tree.xmlFree(<char*>doc._c_doc.URL)
*/
- __pyx_t_3 = __pyx_f_4lxml_5etree__encodeFilenameUTF8(__pyx_v_base_url); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __pyx_f_4lxml_5etree__encodeFilenameUTF8(__pyx_v_base_url); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_base_url, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/parser.pxi":1786
+ /* "src/lxml/parser.pxi":1797
* if base_url is not None:
* base_url = _encodeFilenameUTF8(base_url)
* if doc._c_doc.URL is not NULL: # <<<<<<<<<<<<<<
__pyx_t_4 = ((__pyx_v_doc->_c_doc->URL != NULL) != 0);
if (__pyx_t_4) {
- /* "src/lxml/parser.pxi":1787
+ /* "src/lxml/parser.pxi":1798
* base_url = _encodeFilenameUTF8(base_url)
* if doc._c_doc.URL is not NULL:
* tree.xmlFree(<char*>doc._c_doc.URL) # <<<<<<<<<<<<<<
*/
xmlFree(((char *)__pyx_v_doc->_c_doc->URL));
- /* "src/lxml/parser.pxi":1786
+ /* "src/lxml/parser.pxi":1797
* if base_url is not None:
* base_url = _encodeFilenameUTF8(base_url)
* if doc._c_doc.URL is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1788
+ /* "src/lxml/parser.pxi":1799
* if doc._c_doc.URL is not NULL:
* tree.xmlFree(<char*>doc._c_doc.URL)
* doc._c_doc.URL = tree.xmlStrdup(_xcstr(base_url)) # <<<<<<<<<<<<<<
*/
__pyx_v_doc->_c_doc->URL = xmlStrdup((const xmlChar*)PyBytes_AS_STRING(__pyx_v_base_url));
- /* "src/lxml/parser.pxi":1784
+ /* "src/lxml/parser.pxi":1795
* doc = _parseDocumentFromURL(_encodeFilename(source), parser)
* # fix base URL if requested
* if base_url is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1789
+ /* "src/lxml/parser.pxi":1800
* tree.xmlFree(<char*>doc._c_doc.URL)
* doc._c_doc.URL = tree.xmlStrdup(_xcstr(base_url))
* return doc # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_doc;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1780
+ /* "src/lxml/parser.pxi":1791
* cdef _Document _parseDocument(source, _BaseParser parser, base_url):
* cdef _Document doc
* if _isString(source): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1791
+ /* "src/lxml/parser.pxi":1802
* return doc
*
* if base_url is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_4 != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1792
+ /* "src/lxml/parser.pxi":1803
*
* if base_url is not None:
* url = base_url # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_base_url);
__pyx_v_url = __pyx_v_base_url;
- /* "src/lxml/parser.pxi":1791
+ /* "src/lxml/parser.pxi":1802
* return doc
*
* if base_url is not None: # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/parser.pxi":1794
+ /* "src/lxml/parser.pxi":1805
* url = base_url
* else:
* url = _getFilenameForFile(source) # <<<<<<<<<<<<<<
* if hasattr(source, u'getvalue') and hasattr(source, u'tell'):
*/
/*else*/ {
- __pyx_t_3 = __pyx_f_4lxml_5etree__getFilenameForFile(__pyx_v_source); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __pyx_f_4lxml_5etree__getFilenameForFile(__pyx_v_source); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_url = __pyx_t_3;
__pyx_t_3 = 0;
}
__pyx_L6:;
- /* "src/lxml/parser.pxi":1796
+ /* "src/lxml/parser.pxi":1807
* url = _getFilenameForFile(source)
*
* if hasattr(source, u'getvalue') and hasattr(source, u'tell'): # <<<<<<<<<<<<<<
* # StringIO - reading from start?
* if source.tell() == 0:
*/
- __pyx_t_4 = PyObject_HasAttr(__pyx_v_source, __pyx_n_u_getvalue); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyObject_HasAttr(__pyx_v_source, __pyx_n_u_getvalue); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
} else {
__pyx_t_1 = __pyx_t_5;
goto __pyx_L8_bool_binop_done;
}
- __pyx_t_5 = PyObject_HasAttr(__pyx_v_source, __pyx_n_u_tell); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyObject_HasAttr(__pyx_v_source, __pyx_n_u_tell); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_4 = (__pyx_t_5 != 0);
__pyx_t_1 = __pyx_t_4;
__pyx_L8_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1798
+ /* "src/lxml/parser.pxi":1809
* if hasattr(source, u'getvalue') and hasattr(source, u'tell'):
* # StringIO - reading from start?
* if source.tell() == 0: # <<<<<<<<<<<<<<
* return _parseMemoryDocument(source.getvalue(), url, parser)
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_source, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_source, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (__pyx_t_6) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
- __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1799
+ /* "src/lxml/parser.pxi":1810
* # StringIO - reading from start?
* if source.tell() == 0:
* return _parseMemoryDocument(source.getvalue(), url, parser) # <<<<<<<<<<<<<<
* # Support for file-like objects (urlgrabber.urlopen, ...)
*/
__Pyx_XDECREF(((PyObject *)__pyx_r));
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_source, __pyx_n_s_getvalue); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_source, __pyx_n_s_getvalue); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
}
}
if (__pyx_t_6) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree__parseMemoryDocument(__pyx_t_2, __pyx_v_url, __pyx_v_parser)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree__parseMemoryDocument(__pyx_t_2, __pyx_v_url, __pyx_v_parser)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1810; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = ((struct LxmlDocument *)__pyx_t_3);
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1798
+ /* "src/lxml/parser.pxi":1809
* if hasattr(source, u'getvalue') and hasattr(source, u'tell'):
* # StringIO - reading from start?
* if source.tell() == 0: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1796
+ /* "src/lxml/parser.pxi":1807
* url = _getFilenameForFile(source)
*
* if hasattr(source, u'getvalue') and hasattr(source, u'tell'): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1802
+ /* "src/lxml/parser.pxi":1813
*
* # Support for file-like objects (urlgrabber.urlopen, ...)
* if hasattr(source, u'read'): # <<<<<<<<<<<<<<
* return _parseFilelikeDocument(source, url, parser)
*
*/
- __pyx_t_1 = PyObject_HasAttr(__pyx_v_source, __pyx_n_u_read); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_HasAttr(__pyx_v_source, __pyx_n_u_read); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_4 = (__pyx_t_1 != 0);
if (__pyx_t_4) {
- /* "src/lxml/parser.pxi":1803
+ /* "src/lxml/parser.pxi":1814
* # Support for file-like objects (urlgrabber.urlopen, ...)
* if hasattr(source, u'read'):
* return _parseFilelikeDocument(source, url, parser) # <<<<<<<<<<<<<<
* raise TypeError, u"cannot parse from '%s'" % python._fqtypename(source).decode('UTF-8')
*/
__Pyx_XDECREF(((PyObject *)__pyx_r));
- __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree__parseFilelikeDocument(__pyx_v_source, __pyx_v_url, __pyx_v_parser)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree__parseFilelikeDocument(__pyx_v_source, __pyx_v_url, __pyx_v_parser)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = ((struct LxmlDocument *)__pyx_t_3);
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1802
+ /* "src/lxml/parser.pxi":1813
*
* # Support for file-like objects (urlgrabber.urlopen, ...)
* if hasattr(source, u'read'): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1805
+ /* "src/lxml/parser.pxi":1816
* return _parseFilelikeDocument(source, url, parser)
*
* raise TypeError, u"cannot parse from '%s'" % python._fqtypename(source).decode('UTF-8') # <<<<<<<<<<<<<<
* cdef _Document _parseDocumentFromURL(url, _BaseParser parser):
*/
__pyx_t_7 = _fqtypename(__pyx_v_source);
- __pyx_t_3 = __Pyx_decode_c_string(__pyx_t_7, 0, strlen(__pyx_t_7), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_decode_c_string(__pyx_t_7, 0, strlen(__pyx_t_7), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyUnicode_Format(__pyx_kp_u_cannot_parse_from_s, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyUnicode_Format(__pyx_kp_u_cannot_parse_from_s, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_t_2, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1778
+ /* "src/lxml/parser.pxi":1789
* ############################################################
*
* cdef _Document _parseDocument(source, _BaseParser parser, base_url): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1807
+/* "src/lxml/parser.pxi":1818
* raise TypeError, u"cannot parse from '%s'" % python._fqtypename(source).decode('UTF-8')
*
* cdef _Document _parseDocumentFromURL(url, _BaseParser parser): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_parseDocumentFromURL", 0);
- /* "src/lxml/parser.pxi":1808
+ /* "src/lxml/parser.pxi":1819
*
* cdef _Document _parseDocumentFromURL(url, _BaseParser parser):
* c_doc = _parseDocFromFile(url, parser) # <<<<<<<<<<<<<<
* return _documentFactory(c_doc, parser)
*
*/
- __pyx_t_1 = __pyx_f_4lxml_5etree__parseDocFromFile(__pyx_v_url, __pyx_v_parser); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree__parseDocFromFile(__pyx_v_url, __pyx_v_parser); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_c_doc = __pyx_t_1;
- /* "src/lxml/parser.pxi":1809
+ /* "src/lxml/parser.pxi":1820
* cdef _Document _parseDocumentFromURL(url, _BaseParser parser):
* c_doc = _parseDocFromFile(url, parser)
* return _documentFactory(c_doc, parser) # <<<<<<<<<<<<<<
* cdef _Document _parseMemoryDocument(text, url, _BaseParser parser):
*/
__Pyx_XDECREF(((PyObject *)__pyx_r));
- __pyx_t_2 = ((PyObject *)__pyx_f_4lxml_5etree__documentFactory(__pyx_v_c_doc, __pyx_v_parser)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((PyObject *)__pyx_f_4lxml_5etree__documentFactory(__pyx_v_c_doc, __pyx_v_parser)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = ((struct LxmlDocument *)__pyx_t_2);
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1807
+ /* "src/lxml/parser.pxi":1818
* raise TypeError, u"cannot parse from '%s'" % python._fqtypename(source).decode('UTF-8')
*
* cdef _Document _parseDocumentFromURL(url, _BaseParser parser): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1811
+/* "src/lxml/parser.pxi":1822
* return _documentFactory(c_doc, parser)
*
* cdef _Document _parseMemoryDocument(text, url, _BaseParser parser): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_parseMemoryDocument", 0);
- /* "src/lxml/parser.pxi":1812
+ /* "src/lxml/parser.pxi":1823
*
* cdef _Document _parseMemoryDocument(text, url, _BaseParser parser):
* if isinstance(text, unicode): # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1813
+ /* "src/lxml/parser.pxi":1824
* cdef _Document _parseMemoryDocument(text, url, _BaseParser parser):
* if isinstance(text, unicode):
* if _hasEncodingDeclaration(text): # <<<<<<<<<<<<<<
* raise ValueError(
* u"Unicode strings with encoding declaration are not supported. "
*/
- __pyx_t_2 = __pyx_f_4lxml_5etree__hasEncodingDeclaration(__pyx_v_text); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_5etree__hasEncodingDeclaration(__pyx_v_text); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/parser.pxi":1814
+ /* "src/lxml/parser.pxi":1825
* if isinstance(text, unicode):
* if _hasEncodingDeclaration(text):
* raise ValueError( # <<<<<<<<<<<<<<
* u"Unicode strings with encoding declaration are not supported. "
* u"Please use bytes input or XML fragments without declaration.")
*/
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1813
+ /* "src/lxml/parser.pxi":1824
* cdef _Document _parseMemoryDocument(text, url, _BaseParser parser):
* if isinstance(text, unicode):
* if _hasEncodingDeclaration(text): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/parser.pxi":1812
+ /* "src/lxml/parser.pxi":1823
*
* cdef _Document _parseMemoryDocument(text, url, _BaseParser parser):
* if isinstance(text, unicode): # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/parser.pxi":1817
+ /* "src/lxml/parser.pxi":1828
* u"Unicode strings with encoding declaration are not supported. "
* u"Please use bytes input or XML fragments without declaration.")
* elif not isinstance(text, bytes): # <<<<<<<<<<<<<<
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (__pyx_t_2) {
- /* "src/lxml/parser.pxi":1818
+ /* "src/lxml/parser.pxi":1829
* u"Please use bytes input or XML fragments without declaration.")
* elif not isinstance(text, bytes):
* raise ValueError, u"can only parse strings" # <<<<<<<<<<<<<<
* return _documentFactory(c_doc, parser)
*/
__Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_u_can_only_parse_strings, 0, 0);
- {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1817
+ /* "src/lxml/parser.pxi":1828
* u"Unicode strings with encoding declaration are not supported. "
* u"Please use bytes input or XML fragments without declaration.")
* elif not isinstance(text, bytes): # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/parser.pxi":1819
+ /* "src/lxml/parser.pxi":1830
* elif not isinstance(text, bytes):
* raise ValueError, u"can only parse strings"
* c_doc = _parseDoc(text, url, parser) # <<<<<<<<<<<<<<
* return _documentFactory(c_doc, parser)
*
*/
- __pyx_t_4 = __pyx_f_4lxml_5etree__parseDoc(__pyx_v_text, __pyx_v_url, __pyx_v_parser); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_4lxml_5etree__parseDoc(__pyx_v_text, __pyx_v_url, __pyx_v_parser); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_c_doc = __pyx_t_4;
- /* "src/lxml/parser.pxi":1820
+ /* "src/lxml/parser.pxi":1831
* raise ValueError, u"can only parse strings"
* c_doc = _parseDoc(text, url, parser)
* return _documentFactory(c_doc, parser) # <<<<<<<<<<<<<<
* cdef _Document _parseFilelikeDocument(source, url, _BaseParser parser):
*/
__Pyx_XDECREF(((PyObject *)__pyx_r));
- __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree__documentFactory(__pyx_v_c_doc, __pyx_v_parser)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = ((PyObject *)__pyx_f_4lxml_5etree__documentFactory(__pyx_v_c_doc, __pyx_v_parser)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = ((struct LxmlDocument *)__pyx_t_3);
__pyx_t_3 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1811
+ /* "src/lxml/parser.pxi":1822
* return _documentFactory(c_doc, parser)
*
* cdef _Document _parseMemoryDocument(text, url, _BaseParser parser): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/parser.pxi":1822
+/* "src/lxml/parser.pxi":1833
* return _documentFactory(c_doc, parser)
*
* cdef _Document _parseFilelikeDocument(source, url, _BaseParser parser): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_parseFilelikeDocument", 0);
- /* "src/lxml/parser.pxi":1823
+ /* "src/lxml/parser.pxi":1834
*
* cdef _Document _parseFilelikeDocument(source, url, _BaseParser parser):
* c_doc = _parseDocFromFilelike(source, url, parser) # <<<<<<<<<<<<<<
* return _documentFactory(c_doc, parser)
*/
- __pyx_t_1 = __pyx_f_4lxml_5etree__parseDocFromFilelike(__pyx_v_source, __pyx_v_url, __pyx_v_parser); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree__parseDocFromFilelike(__pyx_v_source, __pyx_v_url, __pyx_v_parser); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_c_doc = __pyx_t_1;
- /* "src/lxml/parser.pxi":1824
+ /* "src/lxml/parser.pxi":1835
* cdef _Document _parseFilelikeDocument(source, url, _BaseParser parser):
* c_doc = _parseDocFromFilelike(source, url, parser)
* return _documentFactory(c_doc, parser) # <<<<<<<<<<<<<<
*/
__Pyx_XDECREF(((PyObject *)__pyx_r));
- __pyx_t_2 = ((PyObject *)__pyx_f_4lxml_5etree__documentFactory(__pyx_v_c_doc, __pyx_v_parser)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((PyObject *)__pyx_f_4lxml_5etree__documentFactory(__pyx_v_c_doc, __pyx_v_parser)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = ((struct LxmlDocument *)__pyx_t_2);
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "src/lxml/parser.pxi":1822
+ /* "src/lxml/parser.pxi":1833
* return _documentFactory(c_doc, parser)
*
* cdef _Document _parseFilelikeDocument(source, url, _BaseParser parser): # <<<<<<<<<<<<<<
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_encoding, __pyx_n_s_decode); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__65, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_encoding, __pyx_t_6);
*
* cdef void _writeDtdToBuffer(tree.xmlOutputBuffer* c_buffer,
*/
- xmlOutputBufferWrite(__pyx_v_c_buffer, 4, __pyx_k__65);
+ xmlOutputBufferWrite(__pyx_v_c_buffer, 4, __pyx_k__66);
break;
}
* else:
* tree.xmlOutputBufferWrite(c_buffer, 1, '"')
*/
- xmlOutputBufferWrite(__pyx_v_c_buffer, 2, __pyx_k__66);
+ xmlOutputBufferWrite(__pyx_v_c_buffer, 2, __pyx_k__67);
/* "src/lxml/serializer.pxi":315
* tree.xmlOutputBufferWrite(c_buffer, 9, ' PUBLIC "')
* return
*
*/
- xmlOutputBufferWrite(__pyx_v_c_buffer, 2, __pyx_k__67);
+ xmlOutputBufferWrite(__pyx_v_c_buffer, 2, __pyx_k__68);
/* "src/lxml/serializer.pxi":335
* not c_dtd.pentities):
* if c_dtd.notations and not c_buffer.error:
* c_buf = tree.xmlBufferCreate()
*/
- xmlOutputBufferWrite(__pyx_v_c_buffer, 3, __pyx_k__68);
+ xmlOutputBufferWrite(__pyx_v_c_buffer, 3, __pyx_k__69);
/* "src/lxml/serializer.pxi":338
*
*
* cdef void _writeTail(tree.xmlOutputBuffer* c_buffer, xmlNode* c_node,
*/
- xmlOutputBufferWrite(__pyx_v_c_buffer, 3, __pyx_k__69);
+ xmlOutputBufferWrite(__pyx_v_c_buffer, 3, __pyx_k__70);
/* "src/lxml/serializer.pxi":283
* tree.xmlOutputBufferWrite(c_buffer, 4, "'?>\n")
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_10) {
- __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__70, NULL);
+ __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__71, NULL);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
__Pyx_GOTREF(__pyx_t_14);
*/
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
*/
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
*/
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_4, 0, 0, 0);
*/
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__75, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
* self._write_qname(name, prefix)
*
*/
- xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__75);
+ xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__76);
/* "src/lxml/serializer.pxi":854
* prefix = self._find_prefix(ns, flat_namespace_map, new_namespaces)
* if not self._buffered:
* tree.xmlOutputBufferFlush(self._c_out)
*/
- xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__76);
+ xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__77);
/* "src/lxml/serializer.pxi":860
*
* tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(value), NULL)
* tree.xmlOutputBufferWrite(self._c_out, 1, '"')
*/
- xmlOutputBufferWrite(__pyx_v_self->_c_out, 2, __pyx_k__77);
+ xmlOutputBufferWrite(__pyx_v_self->_c_out, 2, __pyx_k__78);
/* "src/lxml/serializer.pxi":886
* self._write_qname(name, prefix)
*/
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__78, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__79, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
}
__pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_self->_element_stack, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, 2, NULL, NULL, &__pyx_slice__79, 0, 1, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, 2, NULL, NULL, &__pyx_slice__80, 0, 1, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_element_config, 0, 2, NULL, NULL, &__pyx_slice__80, 0, 1, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_element_config, 0, 2, NULL, NULL, &__pyx_slice__81, 0, 1, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
*/
__pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__81, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__82, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
}
__pyx_t_3 = __Pyx_PyList_Pop(__pyx_v_self->_element_stack); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_3, 1, 3, NULL, NULL, &__pyx_slice__82, 1, 1, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_3, 1, 3, NULL, NULL, &__pyx_slice__83, 1, 1, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
* self._write_qname(name, prefix)
* tree.xmlOutputBufferWrite(self._c_out, 1, '>')
*/
- xmlOutputBufferWrite(__pyx_v_self->_c_out, 2, __pyx_k__83);
+ xmlOutputBufferWrite(__pyx_v_self->_c_out, 2, __pyx_k__84);
/* "src/lxml/serializer.pxi":897
* name, prefix = self._element_stack.pop()[1:3]
*
* if not self._element_stack:
*/
- xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__76);
+ xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__77);
/* "src/lxml/serializer.pxi":900
* tree.xmlOutputBufferWrite(self._c_out, 1, '>')
*/
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__84, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__85, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_6, 0, 0, 0);
*/
__pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__85, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__86, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
*/
__pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__86, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__87, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
*/
__pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__87, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_source,&__pyx_n_s_events,&__pyx_n_s_tag,&__pyx_n_s_attribute_defaults,&__pyx_n_s_dtd_validation,&__pyx_n_s_load_dtd,&__pyx_n_s_no_network,&__pyx_n_s_remove_blank_text,&__pyx_n_s_compact,&__pyx_n_s_resolve_entities,&__pyx_n_s_remove_comments,&__pyx_n_s_remove_pis,&__pyx_n_s_strip_cdata,&__pyx_n_s_encoding,&__pyx_n_s_html,&__pyx_n_s_recover,&__pyx_n_s_huge_tree,&__pyx_n_s_collect_ids,&__pyx_n_s_schema,0};
PyObject* values[19] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
- values[1] = ((PyObject *)__pyx_tuple__88);
+ values[1] = ((PyObject *)__pyx_tuple__89);
values[2] = ((PyObject *)Py_None);
/* "src/lxml/iterparse.pxi":67
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_source, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__89, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__90, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_data = __pyx_t_2;
* if not data:
* try:
*/
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__90, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__91, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_element_or_tree,&__pyx_n_s_events,&__pyx_n_s_tag,0};
PyObject* values[3] = {0,0,0};
- values[1] = ((PyObject *)__pyx_tuple__91);
+ values[1] = ((PyObject *)__pyx_tuple__92);
values[2] = ((PyObject *)Py_None);
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
* node = self._node_stack[self._index][0]
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->_pop_event, __pyx_tuple__92, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->_pop_event, __pyx_tuple__93, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->_pop_event, __pyx_tuple__93, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->_pop_event, __pyx_tuple__94, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
* for i from 0 <= i < ns_count:
* self._events.append(event)
*/
- __Pyx_INCREF(__pyx_tuple__94);
- __pyx_v_event = __pyx_tuple__94;
+ __Pyx_INCREF(__pyx_tuple__95);
+ __pyx_v_event = __pyx_tuple__95;
/* "src/lxml/iterparse.pxi":331
* if self._event_filter & PARSE_EVENT_FILTER_END_NS:
*
* # ElementTree compatible implementation: parse and look for 'id' attributes
*/
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_XPath), __pyx_tuple__95, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_XPath), __pyx_tuple__96, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XGOTREF(__pyx_v_4lxml_5etree__find_id_attributes);
__Pyx_DECREF_SET(__pyx_v_4lxml_5etree__find_id_attributes, __pyx_t_3);
*/
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_elem, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__96, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_dic, __pyx_t_3, __pyx_v_elem) < 0)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
* def __iter__(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_self->_keys, 0, 0, NULL, NULL, &__pyx_slice__97, 0, 0, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_self->_keys, 0, 0, NULL, NULL, &__pyx_slice__98, 0, 0, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
* def iteritems(self):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_self->_items, 0, 0, NULL, NULL, &__pyx_slice__98, 0, 0, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_self->_items, 0, 0, NULL, NULL, &__pyx_slice__99, 0, 0, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_startswith); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__99, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__100, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_groups); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__100, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__101, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
*/
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_Element); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__101, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__102, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_root = __pyx_t_3;
* namespace = (<bytes>namespace).decode('utf8')
* namespaces[prefix.decode('utf8')] = namespace
*/
- __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_namespace_def, 1, -1L, NULL, NULL, &__pyx_slice__102, 1, 1, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_namespace_def, 1, -1L, NULL, NULL, &__pyx_slice__103, 1, 1, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_namespace, __pyx_t_1);
__pyx_t_1 = 0;
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_path_utf, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__103, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__104, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_path, __pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__104, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__105, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_6) {
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__105, NULL);
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__106, NULL);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_10);
* xslt.xsltMaxDepth = max_depth
*
*/
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__106, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__107, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
* u"//xsl:stylesheet[@xml:id = $id]",
* namespaces={u"xsl" : u"http://www.w3.org/1999/XSL/Transform"})
*/
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_XPath), __pyx_tuple__107, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_XPath), __pyx_tuple__108, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XGOTREF(((PyObject *)__pyx_v_4lxml_5etree___findStylesheetByID));
__pyx_t_2 = __pyx_t_3;
goto __pyx_L5_bool_binop_done;
}
- __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__76, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__77, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_3 != 0);
__pyx_t_2 = __pyx_t_1;
__pyx_L5_bool_binop_done:;
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_25, __pyx_n_s_encode); if (unlikely(!__pyx_t_26)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L42_except_error;}
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
- __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_26, __pyx_tuple__108, NULL); if (unlikely(!__pyx_t_25)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L42_except_error;}
+ __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_26, __pyx_tuple__109, NULL); if (unlikely(!__pyx_t_25)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L42_except_error;}
__Pyx_GOTREF(__pyx_t_25);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__Pyx_DECREF_SET(__pyx_v_e, __pyx_t_25);
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_7) {
- __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__109, NULL);
+ __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__110, NULL);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_11);
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_7) {
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__110, NULL);
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__111, NULL);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
*/
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_DTDError); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__111, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__112, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_4) {
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__112, NULL);
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__113, NULL);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
__Pyx_GOTREF(__pyx_t_8);
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_3) {
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__113, NULL);
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__114, NULL);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_endswith); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__114, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__115, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
*/
__pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_RelaxNGParseError); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__115, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__116, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_10) {
- __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__116, NULL);
+ __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__117, NULL);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_endswith); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__117, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__118, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_8) {
- __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__118, NULL);
+ __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__119, NULL);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_8) {
- __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__119, NULL);
+ __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__120, NULL);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L22_error;}
__Pyx_GOTREF(__pyx_t_10);
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- "XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, XMLSchema schema=None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)\n\n The XML parser.\n\n Parsers can be supplied as additional argument to various parse\n functions of the lxml API. A default parser is always available\n and can be replaced by a call to the global function\n 'set_default_parser'. New parsers can be created at any time\n without a major run-time overhead.\n\n The keyword arguments in the constructor are mainly based on the\n libxml2 parser configuration. A DTD will also be loaded if DTD\n validation or attribute default values are requested (unless you\n additionally provide an XMLSchema from which the default\n attributes can be read).\n\n Available boolean keyword arguments:\n\n - attribute_defaults - inject default attributes from DTD or XMLSchema\n - dtd_validation - validate against a DTD referenced by the document\n - load_dtd - use DTD for parsing\n - no_network - prevent network access for related files (default: True)\n - ns_clean - clean up redundant namespace declarations\n - recover - try hard to parse through broken XML\n - remove_blank_text - discard blank text nodes that appear ignorable\n - remove_comments - discard comments\n - remove_pis - discard processing instructions\n - strip_cdata - replace CDATA sections by normal text content (default: True)\n - compact - save memory for short text content (default: True)\n - collect_ids - create a hash table of XML IDs (default: True, always True with DTD validation)\n - resolve_entities - replace entities by their text value (default: True)\n - huge_tree - disable security restrictions and support very deep trees\n and very long text content (only affects libxml2 2.7+)\n\n Other keyword arguments:\n\n - encoding - override the document encoding\n - target - a parser target object that will receive the parse events\n - schema - an XMLSchema to validate against\n\n Note that you should avoid sharing parsers between threads. While this is\n not harmful, it is more efficient to use separate parsers. This does not\n apply to the default parser.\n ", /*tp_doc*/
+ "XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema: XMLSchema =None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)\n\n The XML parser.\n\n Parsers can be supplied as additional argument to various parse\n functions of the lxml API. A default parser is always available\n and can be replaced by a call to the global function\n 'set_default_parser'. New parsers can be created at any time\n without a major run-time overhead.\n\n The keyword arguments in the constructor are mainly based on the\n libxml2 parser configuration. A DTD will also be loaded if DTD\n validation or attribute default values are requested (unless you\n additionally provide an XMLSchema from which the default\n attributes can be read).\n\n Available boolean keyword arguments:\n\n - attribute_defaults - inject default attributes from DTD or XMLSchema\n - dtd_validation - validate against a DTD referenced by the document\n - load_dtd - use DTD for parsing\n - no_network - prevent network access for related files (default: True)\n - ns_clean - clean up redundant namespace declarations\n - recover - try hard to parse through broken XML\n - remove_blank_text - discard blank text nodes that appear ignorable\n - remove_comments - discard comments\n - remove_pis - discard processing instructions\n - strip_cdata - replace CDATA sections by normal text content (default: True)\n - compact - save memory for short text content (default: True)\n - collect_ids - create a hash table of XML IDs (default: True, always True with DTD validation)\n - resolve_entities - replace entities by their text value (default: True)\n - huge_tree - disable security restrictions and support very deep trees\n and very long text content (only affects libxml2 2.7+)\n\n Other keyword arguments:\n\n - encoding - override the document encoding\n - target - a parser target object that will receive the parse events\n - schema - an XMLSchema to validate against\n\n Note that you should avoid sharing parsers between threads. While this is\n not harmful, it is more efficient to use separate parsers. This does not\n apply to the default parser.\n ", /*tp_doc*/
__pyx_tp_traverse_4lxml_5etree__BaseParser, /*tp_traverse*/
__pyx_tp_clear_4lxml_5etree__BaseParser, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- "HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, XMLSchema schema=None, recover=True, compact=True)\n\n The HTML parser.\n\n This parser allows reading HTML into a normal XML tree. By\n default, it can read broken (non well-formed) HTML, depending on\n the capabilities of libxml2. Use the 'recover' option to switch\n this off.\n\n Available boolean keyword arguments:\n\n - recover - try hard to parse through broken HTML (default: True)\n - no_network - prevent network access for related files (default: True)\n - remove_blank_text - discard empty text nodes that are ignorable (i.e. not actual text content)\n - remove_comments - discard comments\n - remove_pis - discard processing instructions\n - strip_cdata - replace CDATA sections by normal text content (default: True)\n - compact - save memory for short text content (default: True)\n\n Other keyword arguments:\n\n - encoding - override the document encoding\n - target - a parser target object that will receive the parse events\n - schema - an XMLSchema to validate against\n\n Note that you should avoid sharing parsers between threads for performance\n reasons.\n ", /*tp_doc*/
+ "HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, schema: XMLSchema =None, recover=True, compact=True)\n\n The HTML parser.\n\n This parser allows reading HTML into a normal XML tree. By\n default, it can read broken (non well-formed) HTML, depending on\n the capabilities of libxml2. Use the 'recover' option to switch\n this off.\n\n Available boolean keyword arguments:\n\n - recover - try hard to parse through broken HTML (default: True)\n - no_network - prevent network access for related files (default: True)\n - remove_blank_text - discard empty text nodes that are ignorable (i.e. not actual text content)\n - remove_comments - discard comments\n - remove_pis - discard processing instructions\n - strip_cdata - replace CDATA sections by normal text content (default: True)\n - compact - save memory for short text content (default: True)\n\n Other keyword arguments:\n\n - encoding - override the document encoding\n - target - a parser target object that will receive the parse events\n - schema - an XMLSchema to validate against\n\n Note that you should avoid sharing parsers between threads for performance\n reasons.\n ", /*tp_doc*/
__pyx_tp_traverse_4lxml_5etree__BaseParser, /*tp_traverse*/
__pyx_tp_clear_4lxml_5etree__BaseParser, /*tp_clear*/
0, /*tp_richcompare*/
{&__pyx_n_s_XSLT_set_global_max_depth, __pyx_k_XSLT_set_global_max_depth, sizeof(__pyx_k_XSLT_set_global_max_depth), 0, 0, 1, 1},
{&__pyx_n_s_XSLT_strparam, __pyx_k_XSLT_strparam, sizeof(__pyx_k_XSLT_strparam), 0, 0, 1, 1},
{&__pyx_kp_s_XSLT_stylesheet_not_initialised, __pyx_k_XSLT_stylesheet_not_initialised, sizeof(__pyx_k_XSLT_stylesheet_not_initialised), 0, 0, 1, 0},
- {&__pyx_kp_u__104, __pyx_k__104, sizeof(__pyx_k__104), 0, 1, 0, 0},
+ {&__pyx_kp_u__105, __pyx_k__105, sizeof(__pyx_k__105), 0, 1, 0, 0},
{&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0},
{&__pyx_kp_b__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 0, 0, 0},
{&__pyx_kp_s__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 0, 1, 0},
{&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0},
{&__pyx_kp_b__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 0, 0, 0},
- {&__pyx_kp_b__233, __pyx_k__233, sizeof(__pyx_k__233), 0, 0, 0, 0},
- {&__pyx_kp_b__235, __pyx_k__235, sizeof(__pyx_k__235), 0, 0, 0, 0},
+ {&__pyx_kp_b__234, __pyx_k__234, sizeof(__pyx_k__234), 0, 0, 0, 0},
+ {&__pyx_kp_b__236, __pyx_k__236, sizeof(__pyx_k__236), 0, 0, 0, 0},
{&__pyx_kp_s__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 0, 1, 0},
{&__pyx_kp_u__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 1, 0, 0},
{&__pyx_kp_b__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 0, 0, 0},
{&__pyx_kp_b__50, __pyx_k__50, sizeof(__pyx_k__50), 0, 0, 0, 0},
{&__pyx_n_s__60, __pyx_k__60, sizeof(__pyx_k__60), 0, 0, 1, 1},
{&__pyx_n_u__60, __pyx_k__60, sizeof(__pyx_k__60), 0, 1, 0, 1},
- {&__pyx_kp_u__76, __pyx_k__76, sizeof(__pyx_k__76), 0, 1, 0, 0},
+ {&__pyx_kp_u__77, __pyx_k__77, sizeof(__pyx_k__77), 0, 1, 0, 0},
{&__pyx_n_s_abspath, __pyx_k_abspath, sizeof(__pyx_k_abspath), 0, 0, 1, 1},
{&__pyx_n_s_accepted_domains, __pyx_k_accepted_domains, sizeof(__pyx_k_accepted_domains), 0, 0, 1, 1},
{&__pyx_n_s_access_control, __pyx_k_access_control, sizeof(__pyx_k_access_control), 0, 0, 1, 1},
__pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_Exception = __Pyx_GetBuiltinName(__pyx_n_s_Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_SyntaxError = __Pyx_GetBuiltinName(__pyx_n_s_SyntaxError); if (!__pyx_builtin_SyntaxError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_n_s_staticmethod); if (!__pyx_builtin_staticmethod) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_NotImplemented = __Pyx_GetBuiltinName(__pyx_n_s_NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_ReferenceError = __Pyx_GetBuiltinName(__pyx_n_s_ReferenceError); if (!__pyx_builtin_ReferenceError) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_LookupError = __Pyx_GetBuiltinName(__pyx_n_s_LookupError); if (!__pyx_builtin_LookupError) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_LookupError = __Pyx_GetBuiltinName(__pyx_n_s_LookupError); if (!__pyx_builtin_LookupError) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_BaseException = __Pyx_GetBuiltinName(__pyx_n_s_BaseException); if (!__pyx_builtin_BaseException) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__22);
__Pyx_GIVEREF(__pyx_tuple__22);
- /* "src/lxml/xmlerror.pxi":557
+ /* "src/lxml/xmlerror.pxi":567
* except KeyError:
* log = (<object>thread_dict)[u"_GlobalErrorLog"] = \
* _RotatingErrorLog(__MAX_LOG_SIZE) # <<<<<<<<<<<<<<
* return log
*
*/
- __pyx_tuple__25 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__25 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__25);
__Pyx_GIVEREF(__pyx_tuple__25);
- /* "src/lxml/xmlerror.pxi":697
+ /* "src/lxml/xmlerror.pxi":707
* u"Called at setup time to parse the constants and build the classes below."
* global __ERROR_LEVELS, __ERROR_DOMAINS, __PARSER_ERROR_TYPES, __RELAXNG_ERROR_TYPES
* find_constants = re.compile(ur"\s*([a-zA-Z0-9_]+)\s*=\s*([0-9]+)").findall # <<<<<<<<<<<<<<
* const_defs = ((ErrorLevels, __ERROR_LEVELS),
* (ErrorDomains, __ERROR_DOMAINS),
*/
- __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_u_s_a_zA_Z0_9__s_s_0_9); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_u_s_a_zA_Z0_9__s_s_0_9); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__26);
__Pyx_GIVEREF(__pyx_tuple__26);
__Pyx_GOTREF(__pyx_slice__59);
__Pyx_GIVEREF(__pyx_slice__59);
- /* "src/lxml/parser.pxi":1497
+ /* "src/lxml/parser.pxi":453
+ * elif not isinstance(filename, bytes):
+ * # most likely a text URL
+ * filename = filename.encode('utf8') # <<<<<<<<<<<<<<
+ * if not isinstance(filename, bytes):
+ * filename = None
+ */
+ __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__61);
+ __Pyx_GIVEREF(__pyx_tuple__61);
+
+ /* "src/lxml/parser.pxi":1508
* XMLParser.__init__(self, **kwargs)
* if events is None:
* events = ('end',) # <<<<<<<<<<<<<<
* self._setBaseURL(base_url)
* self._collectEvents(events, tag)
*/
- __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_end); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__61);
- __Pyx_GIVEREF(__pyx_tuple__61);
+ __pyx_tuple__62 = PyTuple_Pack(1, __pyx_n_s_end); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__62);
+ __Pyx_GIVEREF(__pyx_tuple__62);
- /* "src/lxml/parser.pxi":1661
+ /* "src/lxml/parser.pxi":1672
* HTMLParser.__init__(self, **kwargs)
* if events is None:
* events = ('end',) # <<<<<<<<<<<<<<
* self._setBaseURL(base_url)
* self._collectEvents(events, tag)
*/
- __pyx_tuple__62 = PyTuple_Pack(1, __pyx_n_s_end); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__62);
- __Pyx_GIVEREF(__pyx_tuple__62);
+ __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_end); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__63);
+ __Pyx_GIVEREF(__pyx_tuple__63);
- /* "src/lxml/parser.pxi":1814
+ /* "src/lxml/parser.pxi":1825
* if isinstance(text, unicode):
* if _hasEncodingDeclaration(text):
* raise ValueError( # <<<<<<<<<<<<<<
* u"Unicode strings with encoding declaration are not supported. "
* u"Please use bytes input or XML fragments without declaration.")
*/
- __pyx_tuple__63 = PyTuple_Pack(1, __pyx_kp_u_Unicode_strings_with_encoding_de); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__63);
- __Pyx_GIVEREF(__pyx_tuple__63);
+ __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_u_Unicode_strings_with_encoding_de); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__64);
+ __Pyx_GIVEREF(__pyx_tuple__64);
/* "src/lxml/serializer.pxi":115
* if enchandler is NULL and c_enc is not NULL:
* raise LookupError, u"unknown encoding: '%s'" % encoding
* c_buffer = tree.xmlAllocOutputBuffer(enchandler)
*/
- __pyx_tuple__64 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__64);
- __Pyx_GIVEREF(__pyx_tuple__64);
+ __pyx_tuple__65 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__65);
+ __Pyx_GIVEREF(__pyx_tuple__65);
/* "src/lxml/serializer.pxi":624
* writer = _FilelikeWriter(f, compression=compression)
* bytes_count = c14n.xmlC14NDocSaveTo(
* c_doc, NULL, exclusive, c_inclusive_ns_prefixes,
*/
- __pyx_tuple__70 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__70);
- __Pyx_GIVEREF(__pyx_tuple__70);
+ __pyx_tuple__71 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__71);
+ __Pyx_GIVEREF(__pyx_tuple__71);
/* "src/lxml/serializer.pxi":778
* cdef int c_standalone
* if self._status >= WRITER_DECL_WRITTEN:
* raise LxmlSyntaxError("XML declaration already written")
*/
- __pyx_tuple__71 = PyTuple_Pack(1, __pyx_kp_s_only_XML_documents_have_declarat); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__71);
- __Pyx_GIVEREF(__pyx_tuple__71);
+ __pyx_tuple__72 = PyTuple_Pack(1, __pyx_kp_s_only_XML_documents_have_declarat); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__72);
+ __Pyx_GIVEREF(__pyx_tuple__72);
/* "src/lxml/serializer.pxi":780
* raise LxmlSyntaxError("only XML documents have declarations")
* version = _utf8orNone(version)
* c_version = _xcstr(version) if version is not None else NULL
*/
- __pyx_tuple__72 = PyTuple_Pack(1, __pyx_kp_s_XML_declaration_already_written); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__72);
- __Pyx_GIVEREF(__pyx_tuple__72);
+ __pyx_tuple__73 = PyTuple_Pack(1, __pyx_kp_s_XML_declaration_already_written); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__73);
+ __Pyx_GIVEREF(__pyx_tuple__73);
/* "src/lxml/serializer.pxi":807
* return
* doctype = _utf8(doctype)
* _writeDoctype(self._c_out, _xcstr(doctype))
*/
- __pyx_tuple__73 = PyTuple_Pack(1, __pyx_kp_s_DOCTYPE_already_written_or_canno); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__73);
- __Pyx_GIVEREF(__pyx_tuple__73);
+ __pyx_tuple__74 = PyTuple_Pack(1, __pyx_kp_s_DOCTYPE_already_written_or_canno); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__74);
+ __Pyx_GIVEREF(__pyx_tuple__74);
/* "src/lxml/serializer.pxi":849
* cdef _write_start_element(self, element_config):
* ns, name, attributes, nsmap = element_config
* flat_namespace_map, new_namespaces = self._collect_namespaces(nsmap)
*/
- __pyx_tuple__74 = PyTuple_Pack(1, __pyx_kp_s_cannot_append_trailing_element_t); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__74);
- __Pyx_GIVEREF(__pyx_tuple__74);
+ __pyx_tuple__75 = PyTuple_Pack(1, __pyx_kp_s_cannot_append_trailing_element_t); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__75);
+ __Pyx_GIVEREF(__pyx_tuple__75);
/* "src/lxml/serializer.pxi":891
* cdef _write_end_element(self, element_config):
* if not self._element_stack or self._element_stack[-1][:2] != element_config[:2]:
* raise LxmlSyntaxError("inconsistent exit action in context manager")
*/
- __pyx_tuple__78 = PyTuple_Pack(1, __pyx_kp_s_not_in_an_element); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__78);
- __Pyx_GIVEREF(__pyx_tuple__78);
+ __pyx_tuple__79 = PyTuple_Pack(1, __pyx_kp_s_not_in_an_element); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__79);
+ __Pyx_GIVEREF(__pyx_tuple__79);
/* "src/lxml/serializer.pxi":892
* if self._status != WRITER_IN_ELEMENT:
* raise LxmlSyntaxError("inconsistent exit action in context manager")
*
*/
- __pyx_slice__79 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__79)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_slice__79);
- __Pyx_GIVEREF(__pyx_slice__79);
__pyx_slice__80 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__80)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_slice__80);
__Pyx_GIVEREF(__pyx_slice__80);
+ __pyx_slice__81 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__81)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__81);
+ __Pyx_GIVEREF(__pyx_slice__81);
/* "src/lxml/serializer.pxi":893
* raise LxmlSyntaxError("not in an element")
*
* name, prefix = self._element_stack.pop()[1:3]
*/
- __pyx_tuple__81 = PyTuple_Pack(1, __pyx_kp_s_inconsistent_exit_action_in_cont); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__81);
- __Pyx_GIVEREF(__pyx_tuple__81);
+ __pyx_tuple__82 = PyTuple_Pack(1, __pyx_kp_s_inconsistent_exit_action_in_cont); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__82);
+ __Pyx_GIVEREF(__pyx_tuple__82);
/* "src/lxml/serializer.pxi":895
* raise LxmlSyntaxError("inconsistent exit action in context manager")
* tree.xmlOutputBufferWrite(self._c_out, 2, '</')
* self._write_qname(name, prefix)
*/
- __pyx_slice__82 = PySlice_New(__pyx_int_1, __pyx_int_3, Py_None); if (unlikely(!__pyx_slice__82)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_slice__82);
- __Pyx_GIVEREF(__pyx_slice__82);
+ __pyx_slice__83 = PySlice_New(__pyx_int_1, __pyx_int_3, Py_None); if (unlikely(!__pyx_slice__83)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__83);
+ __Pyx_GIVEREF(__pyx_slice__83);
/* "src/lxml/serializer.pxi":950
* if self._status != WRITER_IN_ELEMENT:
* content = _utf8(content)
* tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(content), NULL)
*/
- __pyx_tuple__84 = PyTuple_Pack(1, __pyx_kp_s_not_in_an_element); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__84);
- __Pyx_GIVEREF(__pyx_tuple__84);
+ __pyx_tuple__85 = PyTuple_Pack(1, __pyx_kp_s_not_in_an_element); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__85);
+ __Pyx_GIVEREF(__pyx_tuple__85);
/* "src/lxml/serializer.pxi":955
* elif iselement(content):
* _writeNodeToBuffer(self._c_out, (<_Element>content)._c_node,
* self._c_encoding, NULL, self._method,
*/
- __pyx_tuple__85 = PyTuple_Pack(1, __pyx_kp_s_cannot_append_trailing_element_t); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__85);
- __Pyx_GIVEREF(__pyx_tuple__85);
+ __pyx_tuple__86 = PyTuple_Pack(1, __pyx_kp_s_cannot_append_trailing_element_t); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__86);
+ __Pyx_GIVEREF(__pyx_tuple__86);
/* "src/lxml/serializer.pxi":979
* if raise_on_error:
* if self._element_stack:
* raise LxmlSyntaxError("pending open tags on close")
*/
- __pyx_tuple__86 = PyTuple_Pack(1, __pyx_kp_s_no_content_written); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__86);
- __Pyx_GIVEREF(__pyx_tuple__86);
+ __pyx_tuple__87 = PyTuple_Pack(1, __pyx_kp_s_no_content_written); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__87);
+ __Pyx_GIVEREF(__pyx_tuple__87);
/* "src/lxml/serializer.pxi":981
* raise LxmlSyntaxError("no content written")
* error_result = self._c_out.error
* if error_result == xmlerror.XML_ERR_OK:
*/
- __pyx_tuple__87 = PyTuple_Pack(1, __pyx_kp_s_pending_open_tags_on_close); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__87);
- __Pyx_GIVEREF(__pyx_tuple__87);
+ __pyx_tuple__88 = PyTuple_Pack(1, __pyx_kp_s_pending_open_tags_on_close); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__88);
+ __Pyx_GIVEREF(__pyx_tuple__88);
/* "src/lxml/iterparse.pxi":66
* cdef bint _close_source_after_read
* attribute_defaults=False, dtd_validation=False,
* load_dtd=False, no_network=True, remove_blank_text=False,
*/
- __pyx_tuple__88 = PyTuple_Pack(1, __pyx_n_u_end); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__88);
- __Pyx_GIVEREF(__pyx_tuple__88);
+ __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_u_end); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__89);
+ __Pyx_GIVEREF(__pyx_tuple__89);
/* "src/lxml/iterparse.pxi":218
* @cython.final
* if not isinstance(data, bytes):
* self._close_source()
*/
- __pyx_tuple__89 = PyTuple_Pack(1, __pyx_int_32768); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__89);
- __Pyx_GIVEREF(__pyx_tuple__89);
+ __pyx_tuple__90 = PyTuple_Pack(1, __pyx_int_32768); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__90);
+ __Pyx_GIVEREF(__pyx_tuple__90);
/* "src/lxml/iterparse.pxi":221
* if not isinstance(data, bytes):
* if not data:
* try:
*/
- __pyx_tuple__90 = PyTuple_Pack(1, __pyx_kp_s_reading_file_objects_must_return); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__90);
- __Pyx_GIVEREF(__pyx_tuple__90);
+ __pyx_tuple__91 = PyTuple_Pack(1, __pyx_kp_s_reading_file_objects_must_return); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__91);
+ __Pyx_GIVEREF(__pyx_tuple__91);
/* "src/lxml/iterparse.pxi":245
* cdef int _event_filter
* cdef _Element root
* cdef int ns_count
*/
- __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_u_end); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__91);
- __Pyx_GIVEREF(__pyx_tuple__91);
+ __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_u_end); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__92);
+ __Pyx_GIVEREF(__pyx_tuple__92);
/* "src/lxml/iterparse.pxi":274
* cdef int ns_count = 0
* if self._matcher is not None and self._index >= 0:
* node = self._node_stack[self._index][0]
*/
- __pyx_tuple__92 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__92);
- __Pyx_GIVEREF(__pyx_tuple__92);
+ __pyx_tuple__93 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__93);
+ __Pyx_GIVEREF(__pyx_tuple__93);
/* "src/lxml/iterparse.pxi":306
* self._index += 1
* raise StopIteration
*
*/
- __pyx_tuple__93 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__93);
- __Pyx_GIVEREF(__pyx_tuple__93);
+ __pyx_tuple__94 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__94);
+ __Pyx_GIVEREF(__pyx_tuple__94);
/* "src/lxml/iterparse.pxi":330
* self._events.append( (u"end", node) )
* for i from 0 <= i < ns_count:
* self._events.append(event)
*/
- __pyx_tuple__94 = PyTuple_Pack(2, __pyx_kp_u_end_ns, Py_None); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__94);
- __Pyx_GIVEREF(__pyx_tuple__94);
+ __pyx_tuple__95 = PyTuple_Pack(2, __pyx_kp_u_end_ns, Py_None); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__95);
+ __Pyx_GIVEREF(__pyx_tuple__95);
/* "src/lxml/xmlid.pxi":15
* global _find_id_attributes
*
* # ElementTree compatible implementation: parse and look for 'id' attributes
*/
- __pyx_tuple__95 = PyTuple_Pack(1, __pyx_kp_u_string_id); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__95);
- __Pyx_GIVEREF(__pyx_tuple__95);
+ __pyx_tuple__96 = PyTuple_Pack(1, __pyx_kp_u_string_id); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__96);
+ __Pyx_GIVEREF(__pyx_tuple__96);
/* "src/lxml/xmlid.pxi":21
* dic = {}
* return (root, dic)
*
*/
- __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_u_id); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__96);
- __Pyx_GIVEREF(__pyx_tuple__96);
+ __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_u_id); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__97);
+ __Pyx_GIVEREF(__pyx_tuple__97);
/* "src/lxml/xmlid.pxi":114
* if self._keys is None:
*
* def __iter__(self):
*/
- __pyx_slice__97 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__97)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_slice__97);
- __Pyx_GIVEREF(__pyx_slice__97);
+ __pyx_slice__98 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__98)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__98);
+ __Pyx_GIVEREF(__pyx_slice__98);
/* "src/lxml/xmlid.pxi":132
* if self._items is None:
*
* def iteritems(self):
*/
- __pyx_slice__98 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__98)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_slice__98);
- __Pyx_GIVEREF(__pyx_slice__98);
+ __pyx_slice__99 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__99)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__99);
+ __Pyx_GIVEREF(__pyx_slice__99);
/* "src/lxml/extensions.pxi":448
* if function_mapping is None:
* for function_name in function_mapping:
* functions[(ns, function_name)] = getattr(module, function_name)
*/
- __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_u__60); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__99);
- __Pyx_GIVEREF(__pyx_tuple__99);
+ __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_u__60); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__100);
+ __Pyx_GIVEREF(__pyx_tuple__100);
/* "src/lxml/extensions.pxi":523
* return ()
* result_list = []
* root = Element(u'matches')
*/
- __pyx_tuple__100 = PyTuple_Pack(1, __pyx_kp_u__15); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__100);
- __Pyx_GIVEREF(__pyx_tuple__100);
+ __pyx_tuple__101 = PyTuple_Pack(1, __pyx_kp_u__15); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__101);
+ __Pyx_GIVEREF(__pyx_tuple__101);
/* "src/lxml/extensions.pxi":525
* results.extend( result.groups(u'') )
* join_groups = u''.join
* for s_match in results:
*/
- __pyx_tuple__101 = PyTuple_Pack(1, __pyx_n_u_matches); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__101);
- __Pyx_GIVEREF(__pyx_tuple__101);
+ __pyx_tuple__102 = PyTuple_Pack(1, __pyx_n_u_matches); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__102);
+ __Pyx_GIVEREF(__pyx_tuple__102);
/* "src/lxml/xpath.pxi":499
* i += 1
* namespace = (<bytes>namespace).decode('utf8')
* namespaces[prefix.decode('utf8')] = namespace
*/
- __pyx_slice__102 = PySlice_New(__pyx_int_1, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__102)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_slice__102);
- __Pyx_GIVEREF(__pyx_slice__102);
+ __pyx_slice__103 = PySlice_New(__pyx_int_1, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__103)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_slice__103);
+ __Pyx_GIVEREF(__pyx_slice__103);
/* "src/lxml/xpath.pxi":505
* # FIXME: this also replaces {namespaces} within strings!
* path = path_utf.decode('utf8') # <<<<<<<<<<<<<<
* return path, namespaces
*/
- __pyx_tuple__103 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__103);
- __Pyx_GIVEREF(__pyx_tuple__103);
+ __pyx_tuple__104 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__104);
+ __Pyx_GIVEREF(__pyx_tuple__104);
/* "src/lxml/xslt.pxi":398
* c_doc._private = <python.PyObject*>self._xslt_resolver_context
* c_style = xslt.xsltParseStylesheetDoc(c_doc)
*
*/
- __pyx_tuple__105 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__105);
- __Pyx_GIVEREF(__pyx_tuple__105);
+ __pyx_tuple__106 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__106);
+ __Pyx_GIVEREF(__pyx_tuple__106);
/* "src/lxml/xslt.pxi":465
* """
* xslt.xsltMaxDepth = max_depth
*
*/
- __pyx_tuple__106 = PyTuple_Pack(1, __pyx_kp_s_cannot_set_a_maximum_stylesheet); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__106);
- __Pyx_GIVEREF(__pyx_tuple__106);
+ __pyx_tuple__107 = PyTuple_Pack(1, __pyx_kp_s_cannot_set_a_maximum_stylesheet); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__107);
+ __Pyx_GIVEREF(__pyx_tuple__107);
/* "src/lxml/xslt.pxi":845
* global __findStylesheetByID
* u"//xsl:stylesheet[@xml:id = $id]",
* namespaces={u"xsl" : u"http://www.w3.org/1999/XSL/Transform"})
*/
- __pyx_tuple__107 = PyTuple_Pack(1, __pyx_kp_u_xsl_stylesheet_xml_id_id); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__107);
- __Pyx_GIVEREF(__pyx_tuple__107);
+ __pyx_tuple__108 = PyTuple_Pack(1, __pyx_kp_u_xsl_stylesheet_xml_id_id); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__108);
+ __Pyx_GIVEREF(__pyx_tuple__108);
/* "src/lxml/xsltext.pxi":224
* e = unicode(e).encode(u"UTF-8")
* message = python.PyBytes_FromFormat(
* "Error executing extension element '%s': %s",
*/
- __pyx_tuple__108 = PyTuple_Pack(1, __pyx_kp_u_UTF_8); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__108);
- __Pyx_GIVEREF(__pyx_tuple__108);
+ __pyx_tuple__109 = PyTuple_Pack(1, __pyx_kp_u_UTF_8); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__109);
+ __Pyx_GIVEREF(__pyx_tuple__109);
/* "src/lxml/dtd.pxi":281
* if _isString(file):
* self._c_dtd = xmlparser.xmlParseDTD(NULL, _xcstr(file))
* elif hasattr(file, 'read'):
*/
- __pyx_tuple__109 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__109);
- __Pyx_GIVEREF(__pyx_tuple__109);
+ __pyx_tuple__110 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__110);
+ __Pyx_GIVEREF(__pyx_tuple__110);
/* "src/lxml/dtd.pxi":288
* raise DTDParseError, u"file must be a filename or file-like object"
* self._c_dtd = xmlparser.xmlParseDTD(<const_xmlChar*>external_id, NULL)
* else:
*/
- __pyx_tuple__110 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__110);
- __Pyx_GIVEREF(__pyx_tuple__110);
+ __pyx_tuple__111 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__111);
+ __Pyx_GIVEREF(__pyx_tuple__111);
/* "src/lxml/dtd.pxi":364
* valid_ctxt = dtdvalid.xmlNewValidCtxt()
*
* # work around error reporting bug in libxml2 <= 2.9.1 (and later?)
*/
- __pyx_tuple__111 = PyTuple_Pack(1, __pyx_kp_u_Failed_to_create_validation_cont); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__111);
- __Pyx_GIVEREF(__pyx_tuple__111);
+ __pyx_tuple__112 = PyTuple_Pack(1, __pyx_kp_u_Failed_to_create_validation_cont); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__112);
+ __Pyx_GIVEREF(__pyx_tuple__112);
/* "src/lxml/dtd.pxi":372
*
* c_doc = _fakeRootDoc(doc._c_doc, root_node._c_node)
* ret = dtdvalid.xmlValidateDtd(valid_ctxt, c_doc, self._c_dtd)
*/
- __pyx_tuple__112 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__112);
- __Pyx_GIVEREF(__pyx_tuple__112);
+ __pyx_tuple__113 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__113);
+ __Pyx_GIVEREF(__pyx_tuple__113);
/* "src/lxml/dtd.pxi":394
* error_log = _ErrorLog()
* c_dtd = dtd_parser._readDtd()
*
*/
- __pyx_tuple__113 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__113);
- __Pyx_GIVEREF(__pyx_tuple__113);
+ __pyx_tuple__114 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__114);
+ __Pyx_GIVEREF(__pyx_tuple__114);
/* "src/lxml/relaxng.pxi":56
* elif file is not None:
* if _rnc2rng is None:
* raise RelaxNGParseError(
*/
- __pyx_tuple__114 = PyTuple_Pack(1, __pyx_kp_s_rnc); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__114);
- __Pyx_GIVEREF(__pyx_tuple__114);
+ __pyx_tuple__115 = PyTuple_Pack(1, __pyx_kp_s_rnc); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__115);
+ __Pyx_GIVEREF(__pyx_tuple__115);
/* "src/lxml/relaxng.pxi":58
* if file.lower().endswith('.rnc'):
* 'compact syntax not supported (please install rnc2rng)')
* rng_data = _rnc2rng.dumps(_rnc2rng.load(file))
*/
- __pyx_tuple__115 = PyTuple_Pack(1, __pyx_kp_s_compact_syntax_not_supported_ple); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__115);
- __Pyx_GIVEREF(__pyx_tuple__115);
+ __pyx_tuple__116 = PyTuple_Pack(1, __pyx_kp_s_compact_syntax_not_supported_ple); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__116);
+ __Pyx_GIVEREF(__pyx_tuple__116);
/* "src/lxml/relaxng.pxi":68
* doc = None
* parser_ctxt = relaxng.xmlRelaxNGNewParserCtxt(_cstr(filename))
* elif (_getFilenameForFile(file) or '').lower().endswith('.rnc'):
*/
- __pyx_tuple__116 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__116);
- __Pyx_GIVEREF(__pyx_tuple__116);
+ __pyx_tuple__117 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__117);
+ __Pyx_GIVEREF(__pyx_tuple__117);
/* "src/lxml/relaxng.pxi":70
* with self._error_log:
* rng_data = _rnc2rng.dumps(_rnc2rng.load(file))
* doc = _parseMemoryDocument(rng_data, parser=None, url=None)
*/
- __pyx_tuple__117 = PyTuple_Pack(1, __pyx_kp_s_rnc); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__117);
- __Pyx_GIVEREF(__pyx_tuple__117);
+ __pyx_tuple__118 = PyTuple_Pack(1, __pyx_kp_s_rnc); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__118);
+ __Pyx_GIVEREF(__pyx_tuple__118);
/* "src/lxml/schematron.pxi":98
* filename = file
* parser_ctxt = schematron.xmlSchematronNewParserCtxt(_cstr(filename))
* else:
*/
- __pyx_tuple__118 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__118);
- __Pyx_GIVEREF(__pyx_tuple__118);
+ __pyx_tuple__119 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__119);
+ __Pyx_GIVEREF(__pyx_tuple__119);
/* "src/lxml/schematron.pxi":110
*
* self._c_schema = schematron.xmlSchematronParse(parser_ctxt)
* finally:
*/
- __pyx_tuple__119 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__119);
- __Pyx_GIVEREF(__pyx_tuple__119);
+ __pyx_tuple__120 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__120);
+ __Pyx_GIVEREF(__pyx_tuple__120);
/* "src/lxml/lxml.etree.pyx":111
*
* raise KeyError, key
*
*/
- __pyx_tuple__120 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__120);
- __Pyx_GIVEREF(__pyx_tuple__120);
- __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_getitem, 111, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__121 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__121);
+ __Pyx_GIVEREF(__pyx_tuple__121);
+ __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_getitem, 111, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":114
* raise KeyError, key
* raise KeyError, key
*
*/
- __pyx_tuple__122 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__122);
- __Pyx_GIVEREF(__pyx_tuple__122);
- __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_setitem, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__123 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__123);
+ __Pyx_GIVEREF(__pyx_tuple__123);
+ __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_setitem, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":117
* raise KeyError, key
* raise KeyError, key
*
*/
- __pyx_tuple__124 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__124);
- __Pyx_GIVEREF(__pyx_tuple__124);
- __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_delitem, 117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__125);
+ __Pyx_GIVEREF(__pyx_tuple__125);
+ __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_delitem, 117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":120
* raise KeyError, key
* return False
*
*/
- __pyx_tuple__126 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__126);
- __Pyx_GIVEREF(__pyx_tuple__126);
- __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_contains, 120, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__127 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__127);
+ __Pyx_GIVEREF(__pyx_tuple__127);
+ __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_contains, 120, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":123
* return False
* return 0
*
*/
- __pyx_tuple__128 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__128);
- __Pyx_GIVEREF(__pyx_tuple__128);
- __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_len, 123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__129 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__129);
+ __Pyx_GIVEREF(__pyx_tuple__129);
+ __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_len, 123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":126
* return 0
* return ITER_EMPTY
* iterkeys = itervalues = iteritems = __iter__
*/
- __pyx_tuple__130 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__130);
- __Pyx_GIVEREF(__pyx_tuple__130);
- __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_iter_2, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__131 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__131);
+ __Pyx_GIVEREF(__pyx_tuple__131);
+ __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_iter_2, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":169
*
* cdef char* _C_FILENAME_ENCODING = _cstr(_FILENAME_ENCODING)
*
*/
- __pyx_tuple__132 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__132);
- __Pyx_GIVEREF(__pyx_tuple__132);
+ __pyx_tuple__133 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__133);
+ __Pyx_GIVEREF(__pyx_tuple__133);
/* "src/lxml/lxml.etree.pyx":188
* }
*
* def register_namespace(prefix, uri):
*/
- __pyx_tuple__133 = PyTuple_Pack(1, __pyx_kp_b_ns_d_2); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__133);
- __Pyx_GIVEREF(__pyx_tuple__133);
+ __pyx_tuple__134 = PyTuple_Pack(1, __pyx_kp_b_ns_d_2); if (unlikely(!__pyx_tuple__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__134);
+ __Pyx_GIVEREF(__pyx_tuple__134);
/* "src/lxml/lxml.etree.pyx":190
* cdef object _check_internal_prefix = re.compile(b"ns\d+$").match
* u"""Registers a namespace prefix that newly created Elements in that
* namespace will use. The registry is global, and any existing
*/
- __pyx_tuple__134 = PyTuple_Pack(6, __pyx_n_s_prefix, __pyx_n_s_uri, __pyx_n_s_prefix_utf, __pyx_n_s_uri_utf, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__134);
- __Pyx_GIVEREF(__pyx_tuple__134);
- __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_register_namespace, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__135 = PyTuple_Pack(6, __pyx_n_s_prefix, __pyx_n_s_uri, __pyx_n_s_prefix_utf, __pyx_n_s_uri_utf, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__135);
+ __Pyx_GIVEREF(__pyx_tuple__135);
+ __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_register_namespace, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":216
* this one.
* super(_Error, self).__init__(message)
* if error_log is None:
*/
- __pyx_tuple__136 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_message, __pyx_n_s_error_log); if (unlikely(!__pyx_tuple__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__136);
- __Pyx_GIVEREF(__pyx_tuple__136);
- __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_init, 216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__138 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__138);
- __Pyx_GIVEREF(__pyx_tuple__138);
+ __pyx_tuple__137 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_message, __pyx_n_s_error_log); if (unlikely(!__pyx_tuple__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__137);
+ __Pyx_GIVEREF(__pyx_tuple__137);
+ __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_init, 216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__139 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__139);
+ __Pyx_GIVEREF(__pyx_tuple__139);
/* "src/lxml/lxml.etree.pyx":271
* try:
* except Exception:
* print u"Unknown libxml2 version: %s" % (<unsigned char*>tree.xmlParserVersion).decode("latin1")
*/
- __pyx_tuple__139 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__139);
- __Pyx_GIVEREF(__pyx_tuple__139);
+ __pyx_tuple__140 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__140);
+ __Pyx_GIVEREF(__pyx_tuple__140);
/* "src/lxml/xmlerror.pxi":8
* # module level API functions
* u"""clear_error_log()
*
*/
- __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_2, __pyx_n_s_clear_error_log_2, 8, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_2, __pyx_n_s_clear_error_log_2, 8, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":545
+ /* "src/lxml/xmlerror.pxi":555
*
* cdef _BaseErrorLog __GLOBAL_ERROR_LOG
* __GLOBAL_ERROR_LOG = _RotatingErrorLog(__MAX_LOG_SIZE) # <<<<<<<<<<<<<<
*
* cdef _BaseErrorLog _getGlobalErrorLog():
*/
- __pyx_tuple__141 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__141)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__141);
- __Pyx_GIVEREF(__pyx_tuple__141);
+ __pyx_tuple__142 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__142)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__142);
+ __Pyx_GIVEREF(__pyx_tuple__142);
- /* "src/lxml/xmlerror.pxi":574
+ /* "src/lxml/xmlerror.pxi":584
* return _getGlobalErrorLog().copy()
*
* def use_global_python_log(PyErrorLog log not None): # <<<<<<<<<<<<<<
* u"""use_global_python_log(log)
*
*/
- __pyx_tuple__142 = PyTuple_Pack(1, __pyx_n_s_log); if (unlikely(!__pyx_tuple__142)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__142);
- __Pyx_GIVEREF(__pyx_tuple__142);
- __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_2, __pyx_n_s_use_global_python_log, 574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__143 = PyTuple_Pack(1, __pyx_n_s_log); if (unlikely(!__pyx_tuple__143)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__143);
+ __Pyx_GIVEREF(__pyx_tuple__143);
+ __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_2, __pyx_n_s_use_global_python_log, 584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/xmlerror.pxi":739
+ /* "src/lxml/xmlerror.pxi":749
* # cannot handle strings that are a few thousand bytes in length.
*
* cdef object __ERROR_LEVELS = (u"""\ # <<<<<<<<<<<<<<
* NONE=0
* WARNING=1
*/
- __pyx_tuple__144 = PyTuple_Pack(1, __pyx_kp_u_NONE_0_WARNING_1_ERROR_2_FATAL_3); if (unlikely(!__pyx_tuple__144)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__144);
- __Pyx_GIVEREF(__pyx_tuple__144);
+ __pyx_tuple__145 = PyTuple_Pack(1, __pyx_kp_u_NONE_0_WARNING_1_ERROR_2_FATAL_3); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__145);
+ __Pyx_GIVEREF(__pyx_tuple__145);
- /* "src/lxml/xmlerror.pxi":746
+ /* "src/lxml/xmlerror.pxi":756
* """,)
*
* cdef object __ERROR_DOMAINS = (u"""\ # <<<<<<<<<<<<<<
* NONE=0
* PARSER=1
*/
- __pyx_tuple__145 = PyTuple_Pack(1, __pyx_kp_u_NONE_0_PARSER_1_TREE_2_NAMESPACE); if (unlikely(!__pyx_tuple__145)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__145);
- __Pyx_GIVEREF(__pyx_tuple__145);
+ __pyx_tuple__146 = PyTuple_Pack(1, __pyx_kp_u_NONE_0_PARSER_1_TREE_2_NAMESPACE); if (unlikely(!__pyx_tuple__146)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__146);
+ __Pyx_GIVEREF(__pyx_tuple__146);
- /* "src/lxml/xmlerror.pxi":780
+ /* "src/lxml/xmlerror.pxi":790
* """,)
*
* cdef object __PARSER_ERROR_TYPES = (u"""\ # <<<<<<<<<<<<<<
* ERR_OK=0
* ERR_INTERNAL_ERROR=1
*/
- __pyx_tuple__146 = PyTuple_Pack(11, __pyx_kp_u_ERR_OK_0_ERR_INTERNAL_ERROR_1_ER, __pyx_kp_u_ERR_ENCODING_NAME_79_ERR_HYPHEN, __pyx_kp_u_RNGP_ATTRIBUTE_CONTENT_1003_RNGP, __pyx_kp_u_RNGP_PAT_DATA_EXCEPT_ONEMORE_107, __pyx_kp_u_TREE_NOT_UTF8_1303_SAVE_NOT_UTF8, __pyx_kp_u_SCHEMAP_EXTENSION_NO_BASE_1707_S, __pyx_kp_u_SCHEMAP_DEF_AND_PREFIX_1768_SCHE, __pyx_kp_u_SCHEMAV_CVC_MINLENGTH_VALID_1831, __pyx_kp_u_SCHEMAP_SRC_RESOLVE_3004_SCHEMAP, __pyx_kp_u_SCHEMAP_CVC_SIMPLE_TYPE_3062_SCH, __pyx_kp_u_I18N_NO_OUTPUT_6004_BUF_OVERFLOW); if (unlikely(!__pyx_tuple__146)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__146);
- __Pyx_GIVEREF(__pyx_tuple__146);
+ __pyx_tuple__147 = PyTuple_Pack(11, __pyx_kp_u_ERR_OK_0_ERR_INTERNAL_ERROR_1_ER, __pyx_kp_u_ERR_ENCODING_NAME_79_ERR_HYPHEN, __pyx_kp_u_RNGP_ATTRIBUTE_CONTENT_1003_RNGP, __pyx_kp_u_RNGP_PAT_DATA_EXCEPT_ONEMORE_107, __pyx_kp_u_TREE_NOT_UTF8_1303_SAVE_NOT_UTF8, __pyx_kp_u_SCHEMAP_EXTENSION_NO_BASE_1707_S, __pyx_kp_u_SCHEMAP_DEF_AND_PREFIX_1768_SCHE, __pyx_kp_u_SCHEMAV_CVC_MINLENGTH_VALID_1831, __pyx_kp_u_SCHEMAP_SRC_RESOLVE_3004_SCHEMAP, __pyx_kp_u_SCHEMAP_CVC_SIMPLE_TYPE_3062_SCH, __pyx_kp_u_I18N_NO_OUTPUT_6004_BUF_OVERFLOW); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__147);
+ __Pyx_GIVEREF(__pyx_tuple__147);
- /* "src/lxml/xmlerror.pxi":1537
+ /* "src/lxml/xmlerror.pxi":1547
* """,)
*
* cdef object __RELAXNG_ERROR_TYPES = (u"""\ # <<<<<<<<<<<<<<
* RELAXNG_OK=0
* RELAXNG_ERR_MEMORY=1
*/
- __pyx_tuple__147 = PyTuple_Pack(1, __pyx_kp_u_RELAXNG_OK_0_RELAXNG_ERR_MEMORY); if (unlikely(!__pyx_tuple__147)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__147);
- __Pyx_GIVEREF(__pyx_tuple__147);
+ __pyx_tuple__148 = PyTuple_Pack(1, __pyx_kp_u_RELAXNG_OK_0_RELAXNG_ERR_MEMORY); if (unlikely(!__pyx_tuple__148)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__148);
+ __Pyx_GIVEREF(__pyx_tuple__148);
/* "src/lxml/lxml.etree.pyx":514
*
* ur"[^\x20\x0D\x0Aa-zA-Z0-9'()+,./:=?;!*#@$_%-]+").search
*
*/
- __pyx_tuple__148 = PyTuple_Pack(1, __pyx_kp_u_x20_x0D_x0Aa_zA_Z0_9); if (unlikely(!__pyx_tuple__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__148);
- __Pyx_GIVEREF(__pyx_tuple__148);
+ __pyx_tuple__149 = PyTuple_Pack(1, __pyx_kp_u_x20_x0D_x0Aa_zA_Z0_9); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__149);
+ __Pyx_GIVEREF(__pyx_tuple__149);
/* "src/lxml/lxml.etree.pyx":2988
* # module-level API for ElementTree
* u"""Element(_tag, attrib=None, nsmap=None, **_extra)
*
*/
- __pyx_tuple__149 = PyTuple_Pack(4, __pyx_n_s_tag_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_extra); if (unlikely(!__pyx_tuple__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__149);
- __Pyx_GIVEREF(__pyx_tuple__149);
- __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Element, 2988, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__151 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__151);
- __Pyx_GIVEREF(__pyx_tuple__151);
+ __pyx_tuple__150 = PyTuple_Pack(4, __pyx_n_s_tag_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_extra); if (unlikely(!__pyx_tuple__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__150);
+ __Pyx_GIVEREF(__pyx_tuple__150);
+ __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Element, 2988, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__152 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__152);
+ __Pyx_GIVEREF(__pyx_tuple__152);
/* "src/lxml/lxml.etree.pyx":3002
*
* u"""Comment(text=None)
*
*/
- __pyx_tuple__152 = PyTuple_Pack(4, __pyx_n_s_text, __pyx_n_s_doc_2, __pyx_n_s_c_node, __pyx_n_s_c_doc); if (unlikely(!__pyx_tuple__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__152);
- __Pyx_GIVEREF(__pyx_tuple__152);
- __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Comment, 3002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__154 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__154);
- __Pyx_GIVEREF(__pyx_tuple__154);
+ __pyx_tuple__153 = PyTuple_Pack(4, __pyx_n_s_text, __pyx_n_s_doc_2, __pyx_n_s_c_node, __pyx_n_s_c_doc); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__153);
+ __Pyx_GIVEREF(__pyx_tuple__153);
+ __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Comment, 3002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__155 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__155);
+ __Pyx_GIVEREF(__pyx_tuple__155);
/* "src/lxml/lxml.etree.pyx":3026
*
* u"""ProcessingInstruction(target, text=None)
*
*/
- __pyx_tuple__155 = PyTuple_Pack(5, __pyx_n_s_target, __pyx_n_s_text, __pyx_n_s_doc_2, __pyx_n_s_c_node, __pyx_n_s_c_doc); if (unlikely(!__pyx_tuple__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__155);
- __Pyx_GIVEREF(__pyx_tuple__155);
- __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_ProcessingInstruction, 3026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__157 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__157);
- __Pyx_GIVEREF(__pyx_tuple__157);
+ __pyx_tuple__156 = PyTuple_Pack(5, __pyx_n_s_target, __pyx_n_s_text, __pyx_n_s_doc_2, __pyx_n_s_c_node, __pyx_n_s_c_doc); if (unlikely(!__pyx_tuple__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__156);
+ __Pyx_GIVEREF(__pyx_tuple__156);
+ __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_ProcessingInstruction, 3026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__158 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__158);
+ __Pyx_GIVEREF(__pyx_tuple__158);
/* "src/lxml/lxml.etree.pyx":3079
*
* u"""Entity(name)
*
*/
- __pyx_tuple__158 = PyTuple_Pack(6, __pyx_n_s_name_2, __pyx_n_s_doc_2, __pyx_n_s_c_node, __pyx_n_s_c_doc, __pyx_n_s_name_utf, __pyx_n_s_c_name); if (unlikely(!__pyx_tuple__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__158);
- __Pyx_GIVEREF(__pyx_tuple__158);
- __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Entity, 3079, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__159 = PyTuple_Pack(6, __pyx_n_s_name_2, __pyx_n_s_doc_2, __pyx_n_s_c_node, __pyx_n_s_c_doc, __pyx_n_s_name_utf, __pyx_n_s_c_name); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__159);
+ __Pyx_GIVEREF(__pyx_tuple__159);
+ __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Entity, 3079, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":3105
*
* attrib=None, nsmap=None, **_extra):
* u"""SubElement(_parent, _tag, attrib=None, nsmap=None, **_extra)
*/
- __pyx_tuple__160 = PyTuple_Pack(5, __pyx_n_s_parent, __pyx_n_s_tag_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_extra); if (unlikely(!__pyx_tuple__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__160);
- __Pyx_GIVEREF(__pyx_tuple__160);
- __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_SubElement, 3105, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__162 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__162);
- __Pyx_GIVEREF(__pyx_tuple__162);
+ __pyx_tuple__161 = PyTuple_Pack(5, __pyx_n_s_parent, __pyx_n_s_tag_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_extra); if (unlikely(!__pyx_tuple__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__161);
+ __Pyx_GIVEREF(__pyx_tuple__161);
+ __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_SubElement, 3105, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__163 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__163);
+ __Pyx_GIVEREF(__pyx_tuple__163);
/* "src/lxml/lxml.etree.pyx":3115
*
* u"""ElementTree(element=None, file=None, parser=None)
*
*/
- __pyx_tuple__163 = PyTuple_Pack(10, __pyx_n_s_element, __pyx_n_s_file, __pyx_n_s_parser, __pyx_n_s_c_next, __pyx_n_s_c_node, __pyx_n_s_c_node_copy, __pyx_n_s_c_doc, __pyx_n_s_etree, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__163);
- __Pyx_GIVEREF(__pyx_tuple__163);
- __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 2, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_ElementTree, 3115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__165 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__165);
- __Pyx_GIVEREF(__pyx_tuple__165);
+ __pyx_tuple__164 = PyTuple_Pack(10, __pyx_n_s_element, __pyx_n_s_file, __pyx_n_s_parser, __pyx_n_s_c_next, __pyx_n_s_c_node, __pyx_n_s_c_node_copy, __pyx_n_s_c_doc, __pyx_n_s_etree, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__164);
+ __Pyx_GIVEREF(__pyx_tuple__164);
+ __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(1, 2, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_ElementTree, 3115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__166 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__166);
+ __Pyx_GIVEREF(__pyx_tuple__166);
/* "src/lxml/lxml.etree.pyx":3141
*
* u"""HTML(text, parser=None, base_url=None)
*
*/
- __pyx_tuple__166 = PyTuple_Pack(5, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__166);
- __Pyx_GIVEREF(__pyx_tuple__166);
- __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_HTML, 3141, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__168 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__168);
- __Pyx_GIVEREF(__pyx_tuple__168);
+ __pyx_tuple__167 = PyTuple_Pack(5, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__167);
+ __Pyx_GIVEREF(__pyx_tuple__167);
+ __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_HTML, 3141, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__169 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__169);
+ __Pyx_GIVEREF(__pyx_tuple__169);
/* "src/lxml/lxml.etree.pyx":3167
*
* u"""XML(text, parser=None, base_url=None)
*
*/
- __pyx_tuple__169 = PyTuple_Pack(5, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__169);
- __Pyx_GIVEREF(__pyx_tuple__169);
- __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_XML, 3167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__171 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__171);
- __Pyx_GIVEREF(__pyx_tuple__171);
+ __pyx_tuple__170 = PyTuple_Pack(5, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__170);
+ __Pyx_GIVEREF(__pyx_tuple__170);
+ __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_XML, 3167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__172 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__172);
+ __Pyx_GIVEREF(__pyx_tuple__172);
/* "src/lxml/lxml.etree.pyx":3198
*
* u"""fromstring(text, parser=None, base_url=None)
*
*/
- __pyx_tuple__172 = PyTuple_Pack(5, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__172);
- __Pyx_GIVEREF(__pyx_tuple__172);
- __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_fromstring, 3198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__174 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__174);
- __Pyx_GIVEREF(__pyx_tuple__174);
+ __pyx_tuple__173 = PyTuple_Pack(5, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__173);
+ __Pyx_GIVEREF(__pyx_tuple__173);
+ __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_fromstring, 3198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__175 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__175);
+ __Pyx_GIVEREF(__pyx_tuple__175);
/* "src/lxml/lxml.etree.pyx":3219
*
* u"""fromstringlist(strings, parser=None)
*
*/
- __pyx_tuple__175 = PyTuple_Pack(5, __pyx_n_s_strings, __pyx_n_s_parser, __pyx_n_s_doc_2, __pyx_n_s_feed, __pyx_n_s_data); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__175);
- __Pyx_GIVEREF(__pyx_tuple__175);
- __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_fromstringlist, 3219, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__177 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__177);
- __Pyx_GIVEREF(__pyx_tuple__177);
+ __pyx_tuple__176 = PyTuple_Pack(5, __pyx_n_s_strings, __pyx_n_s_parser, __pyx_n_s_doc_2, __pyx_n_s_feed, __pyx_n_s_data); if (unlikely(!__pyx_tuple__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__176);
+ __Pyx_GIVEREF(__pyx_tuple__176);
+ __pyx_codeobj__177 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__176, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_fromstringlist, 3219, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__178 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__178);
+ __Pyx_GIVEREF(__pyx_tuple__178);
/* "src/lxml/lxml.etree.pyx":3240
*
* u"""iselement(element)
*
*/
- __pyx_tuple__178 = PyTuple_Pack(1, __pyx_n_s_element); if (unlikely(!__pyx_tuple__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__178);
- __Pyx_GIVEREF(__pyx_tuple__178);
- __pyx_codeobj__179 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__178, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_iselement, 3240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__179 = PyTuple_Pack(1, __pyx_n_s_element); if (unlikely(!__pyx_tuple__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__179);
+ __Pyx_GIVEREF(__pyx_tuple__179);
+ __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_iselement, 3240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":3248
*
* u"""dump(elem, pretty_print=True, with_tail=True)
*
*/
- __pyx_tuple__180 = PyTuple_Pack(4, __pyx_n_s_elem, __pyx_n_s_pretty_print, __pyx_n_s_with_tail, __pyx_n_s_xml); if (unlikely(!__pyx_tuple__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__180);
- __Pyx_GIVEREF(__pyx_tuple__180);
- __pyx_codeobj__181 = (PyObject*)__Pyx_PyCode_New(1, 2, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__180, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_dump, 3248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__181 = PyTuple_Pack(4, __pyx_n_s_elem, __pyx_n_s_pretty_print, __pyx_n_s_with_tail, __pyx_n_s_xml); if (unlikely(!__pyx_tuple__181)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__181);
+ __Pyx_GIVEREF(__pyx_tuple__181);
+ __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 2, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_dump, 3248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":3261
*
* xml_declaration=None, bint pretty_print=False, bint with_tail=True,
* standalone=None, doctype=None,
*/
- __pyx_tuple__182 = PyTuple_Pack(13, __pyx_n_s_element_or_tree, __pyx_n_s_encoding, __pyx_n_s_method, __pyx_n_s_xml_declaration, __pyx_n_s_pretty_print, __pyx_n_s_with_tail, __pyx_n_s_standalone, __pyx_n_s_doctype, __pyx_n_s_exclusive, __pyx_n_s_with_comments, __pyx_n_s_inclusive_ns_prefixes, __pyx_n_s_write_declaration, __pyx_n_s_is_standalone); if (unlikely(!__pyx_tuple__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__182);
- __Pyx_GIVEREF(__pyx_tuple__182);
- __pyx_codeobj__183 = (PyObject*)__Pyx_PyCode_New(1, 10, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__182, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_tostring, 3261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__183)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__183 = PyTuple_Pack(13, __pyx_n_s_element_or_tree, __pyx_n_s_encoding, __pyx_n_s_method, __pyx_n_s_xml_declaration, __pyx_n_s_pretty_print, __pyx_n_s_with_tail, __pyx_n_s_standalone, __pyx_n_s_doctype, __pyx_n_s_exclusive, __pyx_n_s_with_comments, __pyx_n_s_inclusive_ns_prefixes, __pyx_n_s_write_declaration, __pyx_n_s_is_standalone); if (unlikely(!__pyx_tuple__183)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__183);
+ __Pyx_GIVEREF(__pyx_tuple__183);
+ __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(1, 10, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_tostring, 3261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":3354
*
* u"""tostringlist(element_or_tree, *args, **kwargs)
*
*/
- __pyx_tuple__184 = PyTuple_Pack(3, __pyx_n_s_element_or_tree, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__184);
- __Pyx_GIVEREF(__pyx_tuple__184);
- __pyx_codeobj__185 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__184, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_tostringlist, 3354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__185 = PyTuple_Pack(3, __pyx_n_s_element_or_tree, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__185)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__185);
+ __Pyx_GIVEREF(__pyx_tuple__185);
+ __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_tostringlist, 3354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":3366
*
* bint with_tail=True, doctype=None):
* u"""tounicode(element_or_tree, method="xml", pretty_print=False,
*/
- __pyx_tuple__186 = PyTuple_Pack(5, __pyx_n_s_element_or_tree, __pyx_n_s_method, __pyx_n_s_pretty_print, __pyx_n_s_with_tail, __pyx_n_s_doctype); if (unlikely(!__pyx_tuple__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__186);
- __Pyx_GIVEREF(__pyx_tuple__186);
- __pyx_codeobj__187 = (PyObject*)__Pyx_PyCode_New(1, 4, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__186, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_tounicode, 3366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__187 = PyTuple_Pack(5, __pyx_n_s_element_or_tree, __pyx_n_s_method, __pyx_n_s_pretty_print, __pyx_n_s_with_tail, __pyx_n_s_doctype); if (unlikely(!__pyx_tuple__187)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__187);
+ __Pyx_GIVEREF(__pyx_tuple__187);
+ __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 4, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_tounicode, 3366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/lxml.etree.pyx":3401
*
* u"""parse(source, parser=None, base_url=None)
*
*/
- __pyx_tuple__188 = PyTuple_Pack(5, __pyx_n_s_source, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__188);
- __Pyx_GIVEREF(__pyx_tuple__188);
- __pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__188, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_parse, 3401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__190 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__190);
- __Pyx_GIVEREF(__pyx_tuple__190);
+ __pyx_tuple__189 = PyTuple_Pack(5, __pyx_n_s_source, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2, __pyx_n_s_result_container); if (unlikely(!__pyx_tuple__189)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__189);
+ __Pyx_GIVEREF(__pyx_tuple__189);
+ __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_parse, 3401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__191 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__191)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__191);
+ __Pyx_GIVEREF(__pyx_tuple__191);
/* "src/lxml/classlookup.pxi":551
* LOOKUP_ELEMENT_CLASS = function
* u"""set_element_class_lookup(lookup = None)
*
*/
- __pyx_tuple__191 = PyTuple_Pack(1, __pyx_n_s_lookup); if (unlikely(!__pyx_tuple__191)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__191);
- __Pyx_GIVEREF(__pyx_tuple__191);
- __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_3, __pyx_n_s_set_element_class_lookup, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__193 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__193)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__193);
- __Pyx_GIVEREF(__pyx_tuple__193);
+ __pyx_tuple__192 = PyTuple_Pack(1, __pyx_n_s_lookup); if (unlikely(!__pyx_tuple__192)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__192);
+ __Pyx_GIVEREF(__pyx_tuple__192);
+ __pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__192, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_3, __pyx_n_s_set_element_class_lookup, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__194 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__194)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__194);
+ __Pyx_GIVEREF(__pyx_tuple__194);
/* "src/lxml/nsclasses.pxi":175
* __FUNCTION_NAMESPACE_REGISTRIES = {}
* u"""FunctionNamespace(ns_uri)
*
*/
- __pyx_tuple__194 = PyTuple_Pack(3, __pyx_n_s_ns_uri, __pyx_n_s_ns_utf, __pyx_n_s_registry); if (unlikely(!__pyx_tuple__194)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__194);
- __Pyx_GIVEREF(__pyx_tuple__194);
- __pyx_codeobj__195 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__194, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_4, __pyx_n_s_FunctionNamespace, 175, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__195 = PyTuple_Pack(3, __pyx_n_s_ns_uri, __pyx_n_s_ns_utf, __pyx_n_s_registry); if (unlikely(!__pyx_tuple__195)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__195);
+ __Pyx_GIVEREF(__pyx_tuple__195);
+ __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_4, __pyx_n_s_FunctionNamespace, 175, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/parser.pxi":18
* For compatibility with ElementTree 1.3 and later.
* super(_ParseError, self).__init__(message)
* self.position = (line, column)
*/
- __pyx_tuple__196 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_message, __pyx_n_s_code, __pyx_n_s_line, __pyx_n_s_column); if (unlikely(!__pyx_tuple__196)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__196);
- __Pyx_GIVEREF(__pyx_tuple__196);
- __pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__196, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_5, __pyx_n_s_init, 18, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__197 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_message, __pyx_n_s_code, __pyx_n_s_line, __pyx_n_s_column); if (unlikely(!__pyx_tuple__197)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__197);
+ __Pyx_GIVEREF(__pyx_tuple__197);
+ __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_5, __pyx_n_s_init, 18, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1553
+ /* "src/lxml/parser.pxi":1564
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(__DEFAULT_XML_PARSER)
*
* def set_default_parser(_BaseParser parser=None): # <<<<<<<<<<<<<<
* u"""set_default_parser(parser=None)
*
*/
- __pyx_tuple__198 = PyTuple_Pack(1, __pyx_n_s_parser); if (unlikely(!__pyx_tuple__198)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__198);
- __Pyx_GIVEREF(__pyx_tuple__198);
- __pyx_codeobj__199 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__198, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_5, __pyx_n_s_set_default_parser, 1553, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__199)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__200 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__200)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__200);
- __Pyx_GIVEREF(__pyx_tuple__200);
+ __pyx_tuple__199 = PyTuple_Pack(1, __pyx_n_s_parser); if (unlikely(!__pyx_tuple__199)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__199);
+ __Pyx_GIVEREF(__pyx_tuple__199);
+ __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_5, __pyx_n_s_set_default_parser, 1564, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__201 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__201)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__201);
+ __Pyx_GIVEREF(__pyx_tuple__201);
- /* "src/lxml/parser.pxi":1569
+ /* "src/lxml/parser.pxi":1580
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(parser)
*
* def get_default_parser(): # <<<<<<<<<<<<<<
* u"get_default_parser()"
* return __GLOBAL_PARSER_CONTEXT.getDefaultParser()
*/
- __pyx_codeobj__201 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_5, __pyx_n_s_get_default_parser, 1569, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__201)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_5, __pyx_n_s_get_default_parser, 1580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/saxparser.pxi":469
*
*
*
*/
- __pyx_tuple__202 = PyTuple_Pack(2, __pyx_kp_s_end_ns, Py_None); if (unlikely(!__pyx_tuple__202)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__202);
- __Pyx_GIVEREF(__pyx_tuple__202);
+ __pyx_tuple__203 = PyTuple_Pack(2, __pyx_kp_s_end_ns, Py_None); if (unlikely(!__pyx_tuple__203)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__203);
+ __Pyx_GIVEREF(__pyx_tuple__203);
/* "src/lxml/parsertarget.pxi":14
* # to push the Python level parser result through the parser
* self.result = result
*
*/
- __pyx_tuple__203 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_result); if (unlikely(!__pyx_tuple__203)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__203);
- __Pyx_GIVEREF(__pyx_tuple__203);
- __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_6, __pyx_n_s_init, 14, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__204 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_result); if (unlikely(!__pyx_tuple__204)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__204);
+ __Pyx_GIVEREF(__pyx_tuple__204);
+ __pyx_codeobj__205 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__204, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_6, __pyx_n_s_init, 14, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__205)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/xmlid.pxi":3
* cdef object _find_id_attributes
* u"""XMLID(text, parser=None, base_url=None)
*
*/
- __pyx_tuple__205 = PyTuple_Pack(6, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_dic, __pyx_n_s_root, __pyx_n_s_elem); if (unlikely(!__pyx_tuple__205)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__205);
- __Pyx_GIVEREF(__pyx_tuple__205);
- __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(2, 1, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_7, __pyx_n_s_XMLID, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__207 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__207)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__207);
- __Pyx_GIVEREF(__pyx_tuple__207);
+ __pyx_tuple__206 = PyTuple_Pack(6, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_dic, __pyx_n_s_root, __pyx_n_s_elem); if (unlikely(!__pyx_tuple__206)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__206);
+ __Pyx_GIVEREF(__pyx_tuple__206);
+ __pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(2, 1, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__206, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_7, __pyx_n_s_XMLID, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__207)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__208 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__208)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__208);
+ __Pyx_GIVEREF(__pyx_tuple__208);
/* "src/lxml/xmlid.pxi":24
* return (root, dic)
* u"""XMLDTDID(text, parser=None, base_url=None)
*
*/
- __pyx_tuple__208 = PyTuple_Pack(4, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_root); if (unlikely(!__pyx_tuple__208)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__208);
- __Pyx_GIVEREF(__pyx_tuple__208);
- __pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(2, 1, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_7, __pyx_n_s_XMLDTDID, 24, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__210 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__210)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__210);
- __Pyx_GIVEREF(__pyx_tuple__210);
+ __pyx_tuple__209 = PyTuple_Pack(4, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_root); if (unlikely(!__pyx_tuple__209)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__209);
+ __Pyx_GIVEREF(__pyx_tuple__209);
+ __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(2, 1, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_7, __pyx_n_s_XMLDTDID, 24, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__211 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__211)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__211);
+ __Pyx_GIVEREF(__pyx_tuple__211);
/* "src/lxml/xmlid.pxi":44
* return (root, _IDDict(root))
* u"""parseid(source, parser=None)
*
*/
- __pyx_tuple__211 = PyTuple_Pack(4, __pyx_n_s_source, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2); if (unlikely(!__pyx_tuple__211)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__211);
- __Pyx_GIVEREF(__pyx_tuple__211);
- __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(2, 1, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_7, __pyx_n_s_parseid, 44, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__213 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__213)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__213);
- __Pyx_GIVEREF(__pyx_tuple__213);
+ __pyx_tuple__212 = PyTuple_Pack(4, __pyx_n_s_source, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_doc_2); if (unlikely(!__pyx_tuple__212)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__212);
+ __Pyx_GIVEREF(__pyx_tuple__212);
+ __pyx_codeobj__213 = (PyObject*)__Pyx_PyCode_New(2, 1, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__212, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_7, __pyx_n_s_parseid, 44, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__213)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__214 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__214)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__214);
+ __Pyx_GIVEREF(__pyx_tuple__214);
/* "src/lxml/cleanup.pxi":3
* # functions for tree cleanup and removing elements from subtrees
* u"""cleanup_namespaces(tree_or_element, top_nsmap=None, keep_ns_prefixes=None)
*
*/
- __pyx_tuple__214 = PyTuple_Pack(7, __pyx_n_s_tree_or_element, __pyx_n_s_top_nsmap, __pyx_n_s_keep_ns_prefixes, __pyx_n_s_element, __pyx_n_s_c_element, __pyx_n_s_doc_2, __pyx_n_s_prefix); if (unlikely(!__pyx_tuple__214)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__214);
- __Pyx_GIVEREF(__pyx_tuple__214);
- __pyx_codeobj__215 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__214, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_cleanup_namespaces, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__215)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__216 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__216)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__216);
- __Pyx_GIVEREF(__pyx_tuple__216);
+ __pyx_tuple__215 = PyTuple_Pack(7, __pyx_n_s_tree_or_element, __pyx_n_s_top_nsmap, __pyx_n_s_keep_ns_prefixes, __pyx_n_s_element, __pyx_n_s_c_element, __pyx_n_s_doc_2, __pyx_n_s_prefix); if (unlikely(!__pyx_tuple__215)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__215);
+ __Pyx_GIVEREF(__pyx_tuple__215);
+ __pyx_codeobj__216 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__215, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_cleanup_namespaces, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__216)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__217 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__217)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__217);
+ __Pyx_GIVEREF(__pyx_tuple__217);
/* "src/lxml/cleanup.pxi":33
*
* u"""strip_attributes(tree_or_element, *attribute_names)
*
*/
- __pyx_tuple__217 = PyTuple_Pack(4, __pyx_n_s_tree_or_element, __pyx_n_s_attribute_names, __pyx_n_s_matcher, __pyx_n_s_element); if (unlikely(!__pyx_tuple__217)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__217);
- __Pyx_GIVEREF(__pyx_tuple__217);
- __pyx_codeobj__218 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__217, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_strip_attributes, 33, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__218)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__218 = PyTuple_Pack(4, __pyx_n_s_tree_or_element, __pyx_n_s_attribute_names, __pyx_n_s_matcher, __pyx_n_s_element); if (unlikely(!__pyx_tuple__218)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__218);
+ __Pyx_GIVEREF(__pyx_tuple__218);
+ __pyx_codeobj__219 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__218, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_strip_attributes, 33, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__219)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/cleanup.pxi":74
*
* u"""strip_elements(tree_or_element, *tag_names, with_tail=True)
*
*/
- __pyx_tuple__219 = PyTuple_Pack(6, __pyx_n_s_tree_or_element, __pyx_n_s_with_tail, __pyx_n_s_tag_names, __pyx_n_s_matcher, __pyx_n_s_doc_2, __pyx_n_s_element); if (unlikely(!__pyx_tuple__219)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__219);
- __Pyx_GIVEREF(__pyx_tuple__219);
- __pyx_codeobj__220 = (PyObject*)__Pyx_PyCode_New(1, 1, 6, 0, CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__219, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_strip_elements, 74, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__220)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__220 = PyTuple_Pack(6, __pyx_n_s_tree_or_element, __pyx_n_s_with_tail, __pyx_n_s_tag_names, __pyx_n_s_matcher, __pyx_n_s_doc_2, __pyx_n_s_element); if (unlikely(!__pyx_tuple__220)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__220);
+ __Pyx_GIVEREF(__pyx_tuple__220);
+ __pyx_codeobj__221 = (PyObject*)__Pyx_PyCode_New(1, 1, 6, 0, CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__220, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_strip_elements, 74, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/cleanup.pxi":145
*
* u"""strip_tags(tree_or_element, *tag_names)
*
*/
- __pyx_tuple__221 = PyTuple_Pack(5, __pyx_n_s_tree_or_element, __pyx_n_s_tag_names, __pyx_n_s_matcher, __pyx_n_s_doc_2, __pyx_n_s_element); if (unlikely(!__pyx_tuple__221)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__221);
- __Pyx_GIVEREF(__pyx_tuple__221);
- __pyx_codeobj__222 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__221, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_strip_tags, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__222)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__222 = PyTuple_Pack(5, __pyx_n_s_tree_or_element, __pyx_n_s_tag_names, __pyx_n_s_matcher, __pyx_n_s_doc_2, __pyx_n_s_element); if (unlikely(!__pyx_tuple__222)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__222);
+ __Pyx_GIVEREF(__pyx_tuple__222);
+ __pyx_codeobj__223 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__222, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_strip_tags, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__223)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/extensions.pxi":371
*
* b"Number encoding",
* b"Unfinished literal",
*/
- __pyx_tuple__223 = PyTuple_Pack(26, __pyx_n_b_Ok, __pyx_kp_b_Number_encoding, __pyx_kp_b_Unfinished_literal, __pyx_kp_b_Start_of_literal, __pyx_kp_b_Expected_for_variable_reference, __pyx_kp_b_Undefined_variable, __pyx_kp_b_Invalid_predicate, __pyx_kp_b_Invalid_expression, __pyx_kp_b_Missing_closing_curly_brace, __pyx_kp_b_Unregistered_function, __pyx_kp_b_Invalid_operand, __pyx_kp_b_Invalid_type, __pyx_kp_b_Invalid_number_of_arguments, __pyx_kp_b_Invalid_context_size, __pyx_kp_b_Invalid_context_position, __pyx_kp_b_Memory_allocation_error, __pyx_kp_b_Syntax_error, __pyx_kp_b_Resource_error, __pyx_kp_b_Sub_resource_error, __pyx_kp_b_Undefined_namespace_prefix, __pyx_kp_b_Encoding_error, __pyx_kp_b_Char_out_of_XML_range, __pyx_kp_b_Invalid_or_incomplete_context, __pyx_kp_b_Stack_usage_error, __pyx_kp_b_Forbidden_variable, __pyx_kp_b_Unknown_error); if (unlikely(!__pyx_tuple__223)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__223);
- __Pyx_GIVEREF(__pyx_tuple__223);
+ __pyx_tuple__224 = PyTuple_Pack(26, __pyx_n_b_Ok, __pyx_kp_b_Number_encoding, __pyx_kp_b_Unfinished_literal, __pyx_kp_b_Start_of_literal, __pyx_kp_b_Expected_for_variable_reference, __pyx_kp_b_Undefined_variable, __pyx_kp_b_Invalid_predicate, __pyx_kp_b_Invalid_expression, __pyx_kp_b_Missing_closing_curly_brace, __pyx_kp_b_Unregistered_function, __pyx_kp_b_Invalid_operand, __pyx_kp_b_Invalid_type, __pyx_kp_b_Invalid_number_of_arguments, __pyx_kp_b_Invalid_context_size, __pyx_kp_b_Invalid_context_position, __pyx_kp_b_Memory_allocation_error, __pyx_kp_b_Syntax_error, __pyx_kp_b_Resource_error, __pyx_kp_b_Sub_resource_error, __pyx_kp_b_Undefined_namespace_prefix, __pyx_kp_b_Encoding_error, __pyx_kp_b_Char_out_of_XML_range, __pyx_kp_b_Invalid_or_incomplete_context, __pyx_kp_b_Stack_usage_error, __pyx_kp_b_Forbidden_variable, __pyx_kp_b_Unknown_error); if (unlikely(!__pyx_tuple__224)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__224);
+ __Pyx_GIVEREF(__pyx_tuple__224);
/* "src/lxml/extensions.pxi":428
*
* u"""Extension(module, function_mapping=None, ns=None)
*
*/
- __pyx_tuple__224 = PyTuple_Pack(7, __pyx_n_s_module, __pyx_n_s_function_mapping, __pyx_n_s_ns, __pyx_n_s_functions, __pyx_n_s_function_name, __pyx_n_s_xpath_name, __pyx_n_s_name_2); if (unlikely(!__pyx_tuple__224)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__224);
- __Pyx_GIVEREF(__pyx_tuple__224);
- __pyx_codeobj__225 = (PyObject*)__Pyx_PyCode_New(2, 1, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__224, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_9, __pyx_n_s_Extension, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__225)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__226 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__226)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__226);
- __Pyx_GIVEREF(__pyx_tuple__226);
+ __pyx_tuple__225 = PyTuple_Pack(7, __pyx_n_s_module, __pyx_n_s_function_mapping, __pyx_n_s_ns, __pyx_n_s_functions, __pyx_n_s_function_name, __pyx_n_s_xpath_name, __pyx_n_s_name_2); if (unlikely(!__pyx_tuple__225)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__225);
+ __Pyx_GIVEREF(__pyx_tuple__225);
+ __pyx_codeobj__226 = (PyObject*)__Pyx_PyCode_New(2, 1, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__225, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_9, __pyx_n_s_Extension, 428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__226)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__227 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__227)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__227);
+ __Pyx_GIVEREF(__pyx_tuple__227);
/* "src/lxml/extensions.pxi":741
* # we need to use a Python class here, or PyPy will crash on creation
* return self._parent
*
*/
- __pyx_tuple__227 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__227)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__227);
- __Pyx_GIVEREF(__pyx_tuple__227);
- __pyx_codeobj__228 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__227, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_9, __pyx_n_s_getparent, 741, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__228)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__228 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__228)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__228);
+ __Pyx_GIVEREF(__pyx_tuple__228);
+ __pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_9, __pyx_n_s_getparent, 741, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__229)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/extensions.pxi":747
* # we need to use a Python class here, bytes cannot be C-subclassed
* return self._parent
*
*/
- __pyx_tuple__229 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__229)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__229);
- __Pyx_GIVEREF(__pyx_tuple__229);
- __pyx_codeobj__230 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__229, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_9, __pyx_n_s_getparent, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__230)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__230 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__230)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__230);
+ __Pyx_GIVEREF(__pyx_tuple__230);
+ __pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__230, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_9, __pyx_n_s_getparent, 747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/xpath.pxi":369
*
* regexp=True, smart_strings=True):
* u"""XPathEvaluator(etree_or_element, namespaces=None, extensions=None, regexp=True, smart_strings=True)
*/
- __pyx_tuple__231 = PyTuple_Pack(5, __pyx_n_s_etree_or_element, __pyx_n_s_namespaces, __pyx_n_s_extensions, __pyx_n_s_regexp, __pyx_n_s_smart_strings); if (unlikely(!__pyx_tuple__231)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__231);
- __Pyx_GIVEREF(__pyx_tuple__231);
- __pyx_codeobj__232 = (PyObject*)__Pyx_PyCode_New(1, 4, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__231, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_10, __pyx_n_s_XPathEvaluator, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__232)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__232 = PyTuple_Pack(5, __pyx_n_s_etree_or_element, __pyx_n_s_namespaces, __pyx_n_s_extensions, __pyx_n_s_regexp, __pyx_n_s_smart_strings); if (unlikely(!__pyx_tuple__232)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__232);
+ __Pyx_GIVEREF(__pyx_tuple__232);
+ __pyx_codeobj__233 = (PyObject*)__Pyx_PyCode_New(1, 4, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__232, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_10, __pyx_n_s_XPathEvaluator, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__233)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/xpath.pxi":467
* cdef object _replace_strings
* _find_namespaces = re.compile(b'({[^}]+})').findall
*
*/
- __pyx_tuple__234 = PyTuple_Pack(1, __pyx_kp_b__233); if (unlikely(!__pyx_tuple__234)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__234);
- __Pyx_GIVEREF(__pyx_tuple__234);
+ __pyx_tuple__235 = PyTuple_Pack(1, __pyx_kp_b__234); if (unlikely(!__pyx_tuple__235)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__235);
+ __Pyx_GIVEREF(__pyx_tuple__235);
/* "src/lxml/xpath.pxi":468
* cdef object _find_namespaces
*
* cdef class ETXPath(XPath):
*/
- __pyx_tuple__236 = PyTuple_Pack(1, __pyx_kp_b__235); if (unlikely(!__pyx_tuple__236)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__236);
- __Pyx_GIVEREF(__pyx_tuple__236);
+ __pyx_tuple__237 = PyTuple_Pack(1, __pyx_kp_b__236); if (unlikely(!__pyx_tuple__237)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__237);
+ __Pyx_GIVEREF(__pyx_tuple__237);
/* "src/lxml/xslt.pxi":435
*
* u"""strparam(strval)
*
*/
- __pyx_tuple__237 = PyTuple_Pack(1, __pyx_n_s_strval); if (unlikely(!__pyx_tuple__237)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__237);
- __Pyx_GIVEREF(__pyx_tuple__237);
- __pyx_codeobj__238 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__237, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_11, __pyx_n_s_strparam, 435, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__238)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__238 = PyTuple_Pack(1, __pyx_n_s_strval); if (unlikely(!__pyx_tuple__238)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__238);
+ __Pyx_GIVEREF(__pyx_tuple__238);
+ __pyx_codeobj__239 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__238, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_11, __pyx_n_s_strparam, 435, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__239)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/xslt.pxi":449
*
* u"""set_global_max_depth(max_depth)
*
*/
- __pyx_tuple__239 = PyTuple_Pack(1, __pyx_n_s_max_depth); if (unlikely(!__pyx_tuple__239)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__239);
- __Pyx_GIVEREF(__pyx_tuple__239);
- __pyx_codeobj__240 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__239, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_11, __pyx_n_s_set_global_max_depth, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__240)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__240 = PyTuple_Pack(1, __pyx_n_s_max_depth); if (unlikely(!__pyx_tuple__240)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__240);
+ __Pyx_GIVEREF(__pyx_tuple__240);
+ __pyx_codeobj__241 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__240, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_11, __pyx_n_s_set_global_max_depth, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__241)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
/* "src/lxml/xslt.pxi":837
* # XSLT PI support
* cdef object _FIND_PI_HREF = _RE_PI_HREF.findall
* cdef object _REPLACE_PI_HREF = _RE_PI_HREF.sub
*/
- __pyx_tuple__241 = PyTuple_Pack(1, __pyx_kp_u_s_href_s_s); if (unlikely(!__pyx_tuple__241)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__241);
- __Pyx_GIVEREF(__pyx_tuple__241);
+ __pyx_tuple__242 = PyTuple_Pack(1, __pyx_kp_u_s_href_s_s); if (unlikely(!__pyx_tuple__242)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__242);
+ __Pyx_GIVEREF(__pyx_tuple__242);
/* "src/lxml/xmlschema.pxi":22
* # XMLSchema
* u"boolean(//xs:attribute[@default or @fixed][1])",
* namespaces={u'xs': u'http://www.w3.org/2001/XMLSchema'})
*/
- __pyx_tuple__242 = PyTuple_Pack(1, __pyx_kp_u_boolean_xs_attribute_default_or); if (unlikely(!__pyx_tuple__242)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_tuple__242);
- __Pyx_GIVEREF(__pyx_tuple__242);
+ __pyx_tuple__243 = PyTuple_Pack(1, __pyx_kp_u_boolean_xs_attribute_default_or); if (unlikely(!__pyx_tuple__243)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_tuple__243);
+ __Pyx_GIVEREF(__pyx_tuple__243);
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__ListErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree__ListErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (PyObject_SetAttrString(__pyx_m, "_ListErrorLog", (PyObject *)&__pyx_type_4lxml_5etree__ListErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree__ListErrorLog = &__pyx_type_4lxml_5etree__ListErrorLog;
- if (PyType_Ready(&__pyx_type_4lxml_5etree__ErrorLogContext) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree__ErrorLogContext) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree__ErrorLogContext.tp_print = 0;
__pyx_ptype_4lxml_5etree__ErrorLogContext = &__pyx_type_4lxml_5etree__ErrorLogContext;
__pyx_vtabptr_4lxml_5etree__ErrorLog = &__pyx_vtable_4lxml_5etree__ErrorLog;
__pyx_vtable_4lxml_5etree__ErrorLog.disconnect = (int (*)(struct __pyx_obj_4lxml_5etree__ErrorLog *))__pyx_f_4lxml_5etree_9_ErrorLog_disconnect;
__pyx_vtable_4lxml_5etree__ErrorLog.clear = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__ErrorLog *, int __pyx_skip_dispatch))__pyx_f_4lxml_5etree_9_ErrorLog_clear;
__pyx_type_4lxml_5etree__ErrorLog.tp_base = __pyx_ptype_4lxml_5etree__ListErrorLog;
- if (PyType_Ready(&__pyx_type_4lxml_5etree__ErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree__ErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree__ErrorLog.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__ErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree__ErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "_ErrorLog", (PyObject *)&__pyx_type_4lxml_5etree__ErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__ErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree__ErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "_ErrorLog", (PyObject *)&__pyx_type_4lxml_5etree__ErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree__ErrorLog = &__pyx_type_4lxml_5etree__ErrorLog;
__pyx_vtabptr_4lxml_5etree__DomainErrorLog = &__pyx_vtable_4lxml_5etree__DomainErrorLog;
__pyx_vtable_4lxml_5etree__DomainErrorLog.__pyx_base = *__pyx_vtabptr_4lxml_5etree__ErrorLog;
__pyx_vtable_4lxml_5etree__DomainErrorLog.__pyx_base.__pyx_base.__pyx_base.receive = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__BaseErrorLog *, struct __pyx_obj_4lxml_5etree__LogEntry *, int __pyx_skip_dispatch))__pyx_f_4lxml_5etree_15_DomainErrorLog_receive;
__pyx_type_4lxml_5etree__DomainErrorLog.tp_base = __pyx_ptype_4lxml_5etree__ErrorLog;
- if (PyType_Ready(&__pyx_type_4lxml_5etree__DomainErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree__DomainErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree__DomainErrorLog.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__DomainErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree__DomainErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "_DomainErrorLog", (PyObject *)&__pyx_type_4lxml_5etree__DomainErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__DomainErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree__DomainErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "_DomainErrorLog", (PyObject *)&__pyx_type_4lxml_5etree__DomainErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree__DomainErrorLog = &__pyx_type_4lxml_5etree__DomainErrorLog;
__pyx_vtabptr_4lxml_5etree__RotatingErrorLog = &__pyx_vtable_4lxml_5etree__RotatingErrorLog;
__pyx_vtable_4lxml_5etree__RotatingErrorLog.__pyx_base = *__pyx_vtabptr_4lxml_5etree__ErrorLog;
__pyx_vtable_4lxml_5etree__RotatingErrorLog.__pyx_base.__pyx_base.__pyx_base.receive = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__BaseErrorLog *, struct __pyx_obj_4lxml_5etree__LogEntry *, int __pyx_skip_dispatch))__pyx_f_4lxml_5etree_17_RotatingErrorLog_receive;
__pyx_type_4lxml_5etree__RotatingErrorLog.tp_base = __pyx_ptype_4lxml_5etree__ErrorLog;
- if (PyType_Ready(&__pyx_type_4lxml_5etree__RotatingErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree__RotatingErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree__RotatingErrorLog.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__RotatingErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree__RotatingErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "_RotatingErrorLog", (PyObject *)&__pyx_type_4lxml_5etree__RotatingErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__RotatingErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree__RotatingErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "_RotatingErrorLog", (PyObject *)&__pyx_type_4lxml_5etree__RotatingErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree__RotatingErrorLog = &__pyx_type_4lxml_5etree__RotatingErrorLog;
__pyx_vtabptr_4lxml_5etree_PyErrorLog = &__pyx_vtable_4lxml_5etree_PyErrorLog;
__pyx_vtable_4lxml_5etree_PyErrorLog.__pyx_base = *__pyx_vtabptr_4lxml_5etree__BaseErrorLog;
__pyx_vtable_4lxml_5etree_PyErrorLog.__pyx_base.copy = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__BaseErrorLog *, int __pyx_skip_dispatch))__pyx_f_4lxml_5etree_10PyErrorLog_copy;
__pyx_vtable_4lxml_5etree_PyErrorLog.__pyx_base.receive = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__BaseErrorLog *, struct __pyx_obj_4lxml_5etree__LogEntry *, int __pyx_skip_dispatch))__pyx_f_4lxml_5etree_10PyErrorLog_receive;
__pyx_type_4lxml_5etree_PyErrorLog.tp_base = __pyx_ptype_4lxml_5etree__BaseErrorLog;
- if (PyType_Ready(&__pyx_type_4lxml_5etree_PyErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree_PyErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree_PyErrorLog.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_PyErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree_PyErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "PyErrorLog", (PyObject *)&__pyx_type_4lxml_5etree_PyErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_PyErrorLog.tp_dict, __pyx_vtabptr_4lxml_5etree_PyErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "PyErrorLog", (PyObject *)&__pyx_type_4lxml_5etree_PyErrorLog) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree_PyErrorLog = &__pyx_type_4lxml_5etree_PyErrorLog;
__pyx_vtabptr_4lxml_5etree__Document = &__pyx_vtable_4lxml_5etree__Document;
__pyx_vtable_4lxml_5etree__Document.getroot = (PyObject *(*)(struct LxmlDocument *))__pyx_f_4lxml_5etree_9_Document_getroot;
__pyx_vtable_4lxml_5etree__ParserContext._handleParseResult = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__ParserContext *, struct __pyx_obj_4lxml_5etree__BaseParser *, xmlDoc *, PyObject *))__pyx_f_4lxml_5etree_14_ParserContext__handleParseResult;
__pyx_vtable_4lxml_5etree__ParserContext._handleParseResultDoc = (xmlDoc *(*)(struct __pyx_obj_4lxml_5etree__ParserContext *, struct __pyx_obj_4lxml_5etree__BaseParser *, xmlDoc *, PyObject *))__pyx_f_4lxml_5etree_14_ParserContext__handleParseResultDoc;
__pyx_type_4lxml_5etree__ParserContext.tp_base = __pyx_ptype_4lxml_5etree__ResolverContext;
- if (PyType_Ready(&__pyx_type_4lxml_5etree__ParserContext) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree__ParserContext) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree__ParserContext.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__ParserContext.tp_dict, __pyx_vtabptr_4lxml_5etree__ParserContext) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__ParserContext.tp_dict, __pyx_vtabptr_4lxml_5etree__ParserContext) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree__ParserContext = &__pyx_type_4lxml_5etree__ParserContext;
__pyx_vtabptr_4lxml_5etree__SaxParserContext = &__pyx_vtable_4lxml_5etree__SaxParserContext;
__pyx_vtable_4lxml_5etree__SaxParserContext.__pyx_base = *__pyx_vtabptr_4lxml_5etree__ParserContext;
__pyx_vtable_4lxml_5etree__BaseParser._parseDoc = (xmlDoc *(*)(struct __pyx_obj_4lxml_5etree__BaseParser *, char *, int, char *))__pyx_f_4lxml_5etree_11_BaseParser__parseDoc;
__pyx_vtable_4lxml_5etree__BaseParser._parseDocFromFile = (xmlDoc *(*)(struct __pyx_obj_4lxml_5etree__BaseParser *, char *))__pyx_f_4lxml_5etree_11_BaseParser__parseDocFromFile;
__pyx_vtable_4lxml_5etree__BaseParser._parseDocFromFilelike = (xmlDoc *(*)(struct __pyx_obj_4lxml_5etree__BaseParser *, PyObject *, PyObject *, PyObject *))__pyx_f_4lxml_5etree_11_BaseParser__parseDocFromFilelike;
- if (PyType_Ready(&__pyx_type_4lxml_5etree__BaseParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree__BaseParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree__BaseParser.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__BaseParser.tp_dict, __pyx_vtabptr_4lxml_5etree__BaseParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__BaseParser.tp_dict, __pyx_vtabptr_4lxml_5etree__BaseParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree__BaseParser = &__pyx_type_4lxml_5etree__BaseParser;
__pyx_vtabptr_4lxml_5etree__FeedParser = &__pyx_vtable_4lxml_5etree__FeedParser;
__pyx_vtable_4lxml_5etree__FeedParser.__pyx_base = *__pyx_vtabptr_4lxml_5etree__BaseParser;
__pyx_vtable_4lxml_5etree__FeedParser.feed = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__FeedParser *, PyObject *, int __pyx_skip_dispatch))__pyx_f_4lxml_5etree_11_FeedParser_feed;
__pyx_vtable_4lxml_5etree__FeedParser.close = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__FeedParser *, int __pyx_skip_dispatch))__pyx_f_4lxml_5etree_11_FeedParser_close;
__pyx_type_4lxml_5etree__FeedParser.tp_base = __pyx_ptype_4lxml_5etree__BaseParser;
- if (PyType_Ready(&__pyx_type_4lxml_5etree__FeedParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree__FeedParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree__FeedParser.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__FeedParser.tp_dict, __pyx_vtabptr_4lxml_5etree__FeedParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "_FeedParser", (PyObject *)&__pyx_type_4lxml_5etree__FeedParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__FeedParser.tp_dict, __pyx_vtabptr_4lxml_5etree__FeedParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "_FeedParser", (PyObject *)&__pyx_type_4lxml_5etree__FeedParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree__FeedParser = &__pyx_type_4lxml_5etree__FeedParser;
__pyx_vtabptr_4lxml_5etree_XMLParser = &__pyx_vtable_4lxml_5etree_XMLParser;
__pyx_vtable_4lxml_5etree_XMLParser.__pyx_base = *__pyx_vtabptr_4lxml_5etree__FeedParser;
__pyx_type_4lxml_5etree_XMLParser.tp_base = __pyx_ptype_4lxml_5etree__FeedParser;
- if (PyType_Ready(&__pyx_type_4lxml_5etree_XMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree_XMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree_XMLParser.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_XMLParser.tp_dict, __pyx_vtabptr_4lxml_5etree_XMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "XMLParser", (PyObject *)&__pyx_type_4lxml_5etree_XMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_XMLParser.tp_dict, __pyx_vtabptr_4lxml_5etree_XMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "XMLParser", (PyObject *)&__pyx_type_4lxml_5etree_XMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree_XMLParser = &__pyx_type_4lxml_5etree_XMLParser;
__pyx_vtabptr_4lxml_5etree_XMLPullParser = &__pyx_vtable_4lxml_5etree_XMLPullParser;
__pyx_vtable_4lxml_5etree_XMLPullParser.__pyx_base = *__pyx_vtabptr_4lxml_5etree_XMLParser;
__pyx_type_4lxml_5etree_XMLPullParser.tp_base = __pyx_ptype_4lxml_5etree_XMLParser;
- if (PyType_Ready(&__pyx_type_4lxml_5etree_XMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree_XMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree_XMLPullParser.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_XMLPullParser.tp_dict, __pyx_vtabptr_4lxml_5etree_XMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "XMLPullParser", (PyObject *)&__pyx_type_4lxml_5etree_XMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_XMLPullParser.tp_dict, __pyx_vtabptr_4lxml_5etree_XMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "XMLPullParser", (PyObject *)&__pyx_type_4lxml_5etree_XMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree_XMLPullParser = &__pyx_type_4lxml_5etree_XMLPullParser;
__pyx_vtabptr_4lxml_5etree_ETCompatXMLParser = &__pyx_vtable_4lxml_5etree_ETCompatXMLParser;
__pyx_vtable_4lxml_5etree_ETCompatXMLParser.__pyx_base = *__pyx_vtabptr_4lxml_5etree_XMLParser;
__pyx_type_4lxml_5etree_ETCompatXMLParser.tp_base = __pyx_ptype_4lxml_5etree_XMLParser;
- if (PyType_Ready(&__pyx_type_4lxml_5etree_ETCompatXMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree_ETCompatXMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree_ETCompatXMLParser.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_ETCompatXMLParser.tp_dict, __pyx_vtabptr_4lxml_5etree_ETCompatXMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "ETCompatXMLParser", (PyObject *)&__pyx_type_4lxml_5etree_ETCompatXMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_ETCompatXMLParser.tp_dict, __pyx_vtabptr_4lxml_5etree_ETCompatXMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "ETCompatXMLParser", (PyObject *)&__pyx_type_4lxml_5etree_ETCompatXMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree_ETCompatXMLParser = &__pyx_type_4lxml_5etree_ETCompatXMLParser;
__pyx_vtabptr_4lxml_5etree_HTMLParser = &__pyx_vtable_4lxml_5etree_HTMLParser;
__pyx_vtable_4lxml_5etree_HTMLParser.__pyx_base = *__pyx_vtabptr_4lxml_5etree__FeedParser;
__pyx_type_4lxml_5etree_HTMLParser.tp_base = __pyx_ptype_4lxml_5etree__FeedParser;
- if (PyType_Ready(&__pyx_type_4lxml_5etree_HTMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree_HTMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree_HTMLParser.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_HTMLParser.tp_dict, __pyx_vtabptr_4lxml_5etree_HTMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "HTMLParser", (PyObject *)&__pyx_type_4lxml_5etree_HTMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_HTMLParser.tp_dict, __pyx_vtabptr_4lxml_5etree_HTMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "HTMLParser", (PyObject *)&__pyx_type_4lxml_5etree_HTMLParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree_HTMLParser = &__pyx_type_4lxml_5etree_HTMLParser;
__pyx_vtabptr_4lxml_5etree_HTMLPullParser = &__pyx_vtable_4lxml_5etree_HTMLPullParser;
__pyx_vtable_4lxml_5etree_HTMLPullParser.__pyx_base = *__pyx_vtabptr_4lxml_5etree_HTMLParser;
__pyx_type_4lxml_5etree_HTMLPullParser.tp_base = __pyx_ptype_4lxml_5etree_HTMLParser;
- if (PyType_Ready(&__pyx_type_4lxml_5etree_HTMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_5etree_HTMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_5etree_HTMLPullParser.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_HTMLPullParser.tp_dict, __pyx_vtabptr_4lxml_5etree_HTMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "HTMLPullParser", (PyObject *)&__pyx_type_4lxml_5etree_HTMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1640; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_5etree_HTMLPullParser.tp_dict, __pyx_vtabptr_4lxml_5etree_HTMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "HTMLPullParser", (PyObject *)&__pyx_type_4lxml_5etree_HTMLPullParser) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_5etree_HTMLPullParser = &__pyx_type_4lxml_5etree_HTMLPullParser;
__pyx_vtabptr_4lxml_5etree__SaxParserTarget = &__pyx_vtable_4lxml_5etree__SaxParserTarget;
__pyx_vtable_4lxml_5etree__SaxParserTarget._handleSaxStart = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__SaxParserTarget *, PyObject *, PyObject *, PyObject *))__pyx_f_4lxml_5etree_16_SaxParserTarget__handleSaxStart;
* raise KeyError, key
*
*/
- __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_1__getitem__, 0, __pyx_n_s_ImmutableMapping___getitem, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__121)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_1__getitem__, 0, __pyx_n_s_ImmutableMapping___getitem, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__122)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
if (PyObject_SetItem(__pyx_t_6, __pyx_n_s_getitem, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
* raise KeyError, key
*
*/
- __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_3__setitem__, 0, __pyx_n_s_ImmutableMapping___setitem, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__123)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_3__setitem__, 0, __pyx_n_s_ImmutableMapping___setitem, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__124)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
if (PyObject_SetItem(__pyx_t_6, __pyx_n_s_setitem, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
* raise KeyError, key
*
*/
- __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_5__delitem__, 0, __pyx_n_s_ImmutableMapping___delitem, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__125)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_5__delitem__, 0, __pyx_n_s_ImmutableMapping___delitem, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__126)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
if (PyObject_SetItem(__pyx_t_6, __pyx_n_s_delitem, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
* return False
*
*/
- __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_7__contains__, 0, __pyx_n_s_ImmutableMapping___contains, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__127)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_7__contains__, 0, __pyx_n_s_ImmutableMapping___contains, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__128)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
if (PyObject_SetItem(__pyx_t_6, __pyx_n_s_contains, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
* return 0
*
*/
- __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_9__len__, 0, __pyx_n_s_ImmutableMapping___len, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__129)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_9__len__, 0, __pyx_n_s_ImmutableMapping___len, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__130)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
if (PyObject_SetItem(__pyx_t_6, __pyx_n_s_len, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
* return ITER_EMPTY
* iterkeys = itervalues = iteritems = __iter__
*/
- __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_11__iter__, 0, __pyx_n_s_ImmutableMapping___iter, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__131)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17_ImmutableMapping_11__iter__, 0, __pyx_n_s_ImmutableMapping___iter, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__132)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
if (PyObject_SetItem(__pyx_t_6, __pyx_n_s_iter_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__132, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__133, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (!(likely(PyBytes_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_7)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
*/
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__133, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__134, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_match); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
* u"""Registers a namespace prefix that newly created Elements in that
* namespace will use. The registry is global, and any existing
*/
- __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_1register_namespace, 0, __pyx_n_s_register_namespace, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__135)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_1register_namespace, 0, __pyx_n_s_register_namespace, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__136)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_register_namespace, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
* super(_Error, self).__init__(message)
* if error_log is None:
*/
- __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_9LxmlError_1__init__, 0, __pyx_n_s_LxmlError___init, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__137)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_9LxmlError_1__init__, 0, __pyx_n_s_LxmlError___init, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__138)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__138);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__139);
if (PyObject_SetItem(__pyx_t_6, __pyx_n_s_init, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_group); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L53_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__139, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L53_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__140, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L53_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
* u"""clear_error_log()
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_3clear_error_log, 0, __pyx_n_s_clear_error_log_2, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__140)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_3clear_error_log, 0, __pyx_n_s_clear_error_log_2, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__141)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_clear_error_log_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":545
+ /* "src/lxml/xmlerror.pxi":555
*
* cdef _BaseErrorLog __GLOBAL_ERROR_LOG
* __GLOBAL_ERROR_LOG = _RotatingErrorLog(__MAX_LOG_SIZE) # <<<<<<<<<<<<<<
*
* cdef _BaseErrorLog _getGlobalErrorLog():
*/
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__RotatingErrorLog), __pyx_tuple__141, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree__RotatingErrorLog), __pyx_tuple__142, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XGOTREF(((PyObject *)__pyx_v_4lxml_5etree___GLOBAL_ERROR_LOG));
__Pyx_DECREF_SET(__pyx_v_4lxml_5etree___GLOBAL_ERROR_LOG, ((struct __pyx_obj_4lxml_5etree__BaseErrorLog *)__pyx_t_1));
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":574
+ /* "src/lxml/xmlerror.pxi":584
* return _getGlobalErrorLog().copy()
*
* def use_global_python_log(PyErrorLog log not None): # <<<<<<<<<<<<<<
* u"""use_global_python_log(log)
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_5use_global_python_log, 0, __pyx_n_s_use_global_python_log, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__143)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_5use_global_python_log, 0, __pyx_n_s_use_global_python_log, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__144)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_use_global_python_log, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_use_global_python_log, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":717
+ /* "src/lxml/xmlerror.pxi":727
*
*
* class ErrorLevels(object): # <<<<<<<<<<<<<<
* u"Libxml2 error levels"
*
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_builtin_object);
__Pyx_GIVEREF(__pyx_builtin_object);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
- __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_1, __pyx_n_s_ErrorLevels, __pyx_n_s_ErrorLevels, (PyObject *) NULL, __pyx_n_s_lxml_etree, __pyx_kp_s_Libxml2_error_levels); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_1, __pyx_n_s_ErrorLevels, __pyx_n_s_ErrorLevels, (PyObject *) NULL, __pyx_n_s_lxml_etree, __pyx_kp_s_Libxml2_error_levels); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_ErrorLevels, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_ErrorLevels, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ErrorLevels, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ErrorLevels, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":720
+ /* "src/lxml/xmlerror.pxi":730
* u"Libxml2 error levels"
*
* class ErrorDomains(object): # <<<<<<<<<<<<<<
* u"Libxml2 error domains"
*
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_builtin_object);
__Pyx_GIVEREF(__pyx_builtin_object);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
- __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_1, __pyx_n_s_ErrorDomains, __pyx_n_s_ErrorDomains, (PyObject *) NULL, __pyx_n_s_lxml_etree, __pyx_kp_s_Libxml2_error_domains); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_1, __pyx_n_s_ErrorDomains, __pyx_n_s_ErrorDomains, (PyObject *) NULL, __pyx_n_s_lxml_etree, __pyx_kp_s_Libxml2_error_domains); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_ErrorDomains, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_ErrorDomains, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ErrorDomains, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ErrorDomains, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":723
+ /* "src/lxml/xmlerror.pxi":733
* u"Libxml2 error domains"
*
* class ErrorTypes(object): # <<<<<<<<<<<<<<
* u"Libxml2 error types"
*
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_builtin_object);
__Pyx_GIVEREF(__pyx_builtin_object);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
- __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_1, __pyx_n_s_ErrorTypes, __pyx_n_s_ErrorTypes, (PyObject *) NULL, __pyx_n_s_lxml_etree, __pyx_kp_s_Libxml2_error_types); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_1, __pyx_n_s_ErrorTypes, __pyx_n_s_ErrorTypes, (PyObject *) NULL, __pyx_n_s_lxml_etree, __pyx_kp_s_Libxml2_error_types); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_ErrorTypes, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_ErrorTypes, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_ErrorTypes, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_ErrorTypes, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":726
+ /* "src/lxml/xmlerror.pxi":736
* u"Libxml2 error types"
*
* class RelaxNGErrorTypes(object): # <<<<<<<<<<<<<<
* u"Libxml2 RelaxNG error types"
*
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_builtin_object);
__Pyx_GIVEREF(__pyx_builtin_object);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
- __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_1, __pyx_n_s_RelaxNGErrorTypes, __pyx_n_s_RelaxNGErrorTypes, (PyObject *) NULL, __pyx_n_s_lxml_etree, __pyx_kp_s_Libxml2_RelaxNG_error_types); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_8, __pyx_t_1, __pyx_n_s_RelaxNGErrorTypes, __pyx_n_s_RelaxNGErrorTypes, (PyObject *) NULL, __pyx_n_s_lxml_etree, __pyx_kp_s_Libxml2_RelaxNG_error_types); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_RelaxNGErrorTypes, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_Py3ClassCreate(__pyx_t_8, __pyx_n_s_RelaxNGErrorTypes, __pyx_t_1, __pyx_t_6, NULL, 0, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_RelaxNGErrorTypes, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_RelaxNGErrorTypes, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/xmlerror.pxi":739
+ /* "src/lxml/xmlerror.pxi":749
* # cannot handle strings that are a few thousand bytes in length.
*
* cdef object __ERROR_LEVELS = (u"""\ # <<<<<<<<<<<<<<
* NONE=0
* WARNING=1
*/
- __Pyx_INCREF(__pyx_tuple__144);
+ __Pyx_INCREF(__pyx_tuple__145);
__Pyx_XGOTREF(__pyx_v_4lxml_5etree___ERROR_LEVELS);
- __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___ERROR_LEVELS, __pyx_tuple__144);
- __Pyx_GIVEREF(__pyx_tuple__144);
+ __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___ERROR_LEVELS, __pyx_tuple__145);
+ __Pyx_GIVEREF(__pyx_tuple__145);
- /* "src/lxml/xmlerror.pxi":746
+ /* "src/lxml/xmlerror.pxi":756
* """,)
*
* cdef object __ERROR_DOMAINS = (u"""\ # <<<<<<<<<<<<<<
* NONE=0
* PARSER=1
*/
- __Pyx_INCREF(__pyx_tuple__145);
+ __Pyx_INCREF(__pyx_tuple__146);
__Pyx_XGOTREF(__pyx_v_4lxml_5etree___ERROR_DOMAINS);
- __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___ERROR_DOMAINS, __pyx_tuple__145);
- __Pyx_GIVEREF(__pyx_tuple__145);
+ __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___ERROR_DOMAINS, __pyx_tuple__146);
+ __Pyx_GIVEREF(__pyx_tuple__146);
- /* "src/lxml/xmlerror.pxi":780
+ /* "src/lxml/xmlerror.pxi":790
* """,)
*
* cdef object __PARSER_ERROR_TYPES = (u"""\ # <<<<<<<<<<<<<<
* ERR_OK=0
* ERR_INTERNAL_ERROR=1
*/
- __Pyx_INCREF(__pyx_tuple__146);
+ __Pyx_INCREF(__pyx_tuple__147);
__Pyx_XGOTREF(__pyx_v_4lxml_5etree___PARSER_ERROR_TYPES);
- __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___PARSER_ERROR_TYPES, __pyx_tuple__146);
- __Pyx_GIVEREF(__pyx_tuple__146);
+ __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___PARSER_ERROR_TYPES, __pyx_tuple__147);
+ __Pyx_GIVEREF(__pyx_tuple__147);
- /* "src/lxml/xmlerror.pxi":1537
+ /* "src/lxml/xmlerror.pxi":1547
* """,)
*
* cdef object __RELAXNG_ERROR_TYPES = (u"""\ # <<<<<<<<<<<<<<
* RELAXNG_OK=0
* RELAXNG_ERR_MEMORY=1
*/
- __Pyx_INCREF(__pyx_tuple__147);
+ __Pyx_INCREF(__pyx_tuple__148);
__Pyx_XGOTREF(__pyx_v_4lxml_5etree___RELAXNG_ERROR_TYPES);
- __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___RELAXNG_ERROR_TYPES, __pyx_tuple__147);
- __Pyx_GIVEREF(__pyx_tuple__147);
+ __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___RELAXNG_ERROR_TYPES, __pyx_tuple__148);
+ __Pyx_GIVEREF(__pyx_tuple__148);
- /* "src/lxml/xmlerror.pxi":1581
+ /* "src/lxml/xmlerror.pxi":1591
* # --- END: GENERATED CONSTANTS ---
*
* __initErrorConstants() # <<<<<<<<<<<<<<
*/
- __pyx_t_1 = __pyx_f_4lxml_5etree___initErrorConstants(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_5etree___initErrorConstants(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__148, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__149, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
* u"""Element(_tag, attrib=None, nsmap=None, **_extra)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_7Element, 0, __pyx_n_s_Element, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__150)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_7Element, 0, __pyx_n_s_Element, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__151)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__151);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__152);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Element, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* u"""Comment(text=None)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_9Comment, 0, __pyx_n_s_Comment, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__153)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_9Comment, 0, __pyx_n_s_Comment, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__154)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__154);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__155);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Comment, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* u"""ProcessingInstruction(target, text=None)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_11ProcessingInstruction, 0, __pyx_n_s_ProcessingInstruction, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__156)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_11ProcessingInstruction, 0, __pyx_n_s_ProcessingInstruction, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__157)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__157);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__158);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ProcessingInstruction, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* u"""Entity(name)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_13Entity, 0, __pyx_n_s_Entity, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__159)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_13Entity, 0, __pyx_n_s_Entity, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__160)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Entity, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* attrib=None, nsmap=None, **_extra):
* u"""SubElement(_parent, _tag, attrib=None, nsmap=None, **_extra)
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_15SubElement, 0, __pyx_n_s_SubElement, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__161)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_15SubElement, 0, __pyx_n_s_SubElement, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__162)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__162);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__163);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_SubElement, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_8);
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_file, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_parser, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17ElementTree, 0, __pyx_n_s_ElementTree, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__164)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_17ElementTree, 0, __pyx_n_s_ElementTree, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__165)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__165);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__166);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ElementTree, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_19HTML, 0, __pyx_n_s_HTML, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__167)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_19HTML, 0, __pyx_n_s_HTML, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__168)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__168);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__169);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_8, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_HTML, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_8 = PyDict_New(); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_21XML, 0, __pyx_n_s_XML, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__170)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_21XML, 0, __pyx_n_s_XML, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__171)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__171);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__172);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_XML, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_23fromstring, 0, __pyx_n_s_fromstring, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__173)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_23fromstring, 0, __pyx_n_s_fromstring, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__174)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__174);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__175);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_8, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_fromstring, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
* u"""fromstringlist(strings, parser=None)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_25fromstringlist, 0, __pyx_n_s_fromstringlist, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__176)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_25fromstringlist, 0, __pyx_n_s_fromstringlist, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__177)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__177);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__178);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_fromstringlist, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* u"""iselement(element)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_27iselement, 0, __pyx_n_s_iselement, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__179)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_27iselement, 0, __pyx_n_s_iselement, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__180)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_iselement, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_pretty_print, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_with_tail, ((PyObject *)Py_True)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_29dump, 0, __pyx_n_s_dump, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__181)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_29dump, 0, __pyx_n_s_dump, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__182)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* xml_declaration=None, bint pretty_print=False, bint with_tail=True,
* standalone=None, doctype=None,
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_31tostring, 0, __pyx_n_s_tostring, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__183)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_31tostring, 0, __pyx_n_s_tostring, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__184)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_8, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
* u"""tostringlist(element_or_tree, *args, **kwargs)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_33tostringlist, 0, __pyx_n_s_tostringlist, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__185)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_33tostringlist, 0, __pyx_n_s_tostringlist, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__186)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_tostringlist, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* bint with_tail=True, doctype=None):
* u"""tounicode(element_or_tree, method="xml", pretty_print=False,
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_35tounicode, 0, __pyx_n_s_tounicode, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__187)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_35tounicode, 0, __pyx_n_s_tounicode, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__188)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_8);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_37parse, 0, __pyx_n_s_parse, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__189)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_37parse, 0, __pyx_n_s_parse, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__190)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__190);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__191);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_8, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_parse, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
* u"""set_element_class_lookup(lookup = None)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_39set_element_class_lookup, 0, __pyx_n_s_set_element_class_lookup, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__192)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_39set_element_class_lookup, 0, __pyx_n_s_set_element_class_lookup, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__193)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__193);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_8, __pyx_tuple__194);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_element_class_lookup, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* u"""FunctionNamespace(ns_uri)
*
*/
- __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_41FunctionNamespace, 0, __pyx_n_s_FunctionNamespace, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__195)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_41FunctionNamespace, 0, __pyx_n_s_FunctionNamespace, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__196)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_FunctionNamespace, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
* super(_ParseError, self).__init__(message)
* self.position = (line, column)
*/
- __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_10ParseError_1__init__, 0, __pyx_n_s_ParseError___init, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__197)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_10ParseError_1__init__, 0, __pyx_n_s_ParseError___init, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__198)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
if (PyObject_SetItem(__pyx_t_6, __pyx_n_s_init, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
*/
__pyx_t_5 = __pyx_f_4lxml_5etree__setupPythonUnicode(); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":484
+ /* "src/lxml/parser.pxi":495
*
* cdef xmlparser.xmlExternalEntityLoader __DEFAULT_ENTITY_LOADER
* __DEFAULT_ENTITY_LOADER = xmlparser.xmlGetExternalEntityLoader() # <<<<<<<<<<<<<<
*/
__pyx_v_4lxml_5etree___DEFAULT_ENTITY_LOADER = xmlGetExternalEntityLoader();
- /* "src/lxml/parser.pxi":486
+ /* "src/lxml/parser.pxi":497
* __DEFAULT_ENTITY_LOADER = xmlparser.xmlGetExternalEntityLoader()
*
* xmlparser.xmlSetExternalEntityLoader(<xmlparser.xmlExternalEntityLoader>_local_resolver) # <<<<<<<<<<<<<<
*/
xmlSetExternalEntityLoader(((xmlExternalEntityLoader)__pyx_f_4lxml_5etree__local_resolver));
- /* "src/lxml/parser.pxi":1388
+ /* "src/lxml/parser.pxi":1399
* xmlparser.XML_PARSE_NOCDATA |
* xmlparser.XML_PARSE_NONET |
* xmlparser.XML_PARSE_COMPACT | # <<<<<<<<<<<<<<
*/
__pyx_v_4lxml_5etree__XML_DEFAULT_PARSE_OPTIONS = ((((XML_PARSE_NOENT | XML_PARSE_NOCDATA) | XML_PARSE_NONET) | XML_PARSE_COMPACT) | XML_PARSE_BIG_LINES);
- /* "src/lxml/parser.pxi":1545
+ /* "src/lxml/parser.pxi":1556
*
* # ET 1.2 compatible name
* XMLTreeBuilder = ETCompatXMLParser # <<<<<<<<<<<<<<
*
*
*/
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_XMLTreeBuilder, ((PyObject *)__pyx_ptype_4lxml_5etree_ETCompatXMLParser)) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_XMLTreeBuilder, ((PyObject *)__pyx_ptype_4lxml_5etree_ETCompatXMLParser)) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/parser.pxi":1549
+ /* "src/lxml/parser.pxi":1560
*
* cdef XMLParser __DEFAULT_XML_PARSER
* __DEFAULT_XML_PARSER = XMLParser() # <<<<<<<<<<<<<<
*
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(__DEFAULT_XML_PARSER)
*/
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_XMLParser), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_XMLParser), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XGOTREF(((PyObject *)__pyx_v_4lxml_5etree___DEFAULT_XML_PARSER));
__Pyx_DECREF_SET(__pyx_v_4lxml_5etree___DEFAULT_XML_PARSER, ((struct __pyx_obj_4lxml_5etree_XMLParser *)__pyx_t_1));
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1551
+ /* "src/lxml/parser.pxi":1562
* __DEFAULT_XML_PARSER = XMLParser()
*
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(__DEFAULT_XML_PARSER) # <<<<<<<<<<<<<<
__pyx_f_4lxml_5etree_24_ParserDictionaryContext_setDefaultParser(__pyx_v_4lxml_5etree___GLOBAL_PARSER_CONTEXT, ((struct __pyx_obj_4lxml_5etree__BaseParser *)__pyx_t_1));
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1553
+ /* "src/lxml/parser.pxi":1564
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(__DEFAULT_XML_PARSER)
*
* def set_default_parser(_BaseParser parser=None): # <<<<<<<<<<<<<<
* u"""set_default_parser(parser=None)
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_43set_default_parser, 0, __pyx_n_s_set_default_parser, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__199)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_43set_default_parser, 0, __pyx_n_s_set_default_parser, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__200)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__200);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_default_parser, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__201);
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_default_parser, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1569
+ /* "src/lxml/parser.pxi":1580
* __GLOBAL_PARSER_CONTEXT.setDefaultParser(parser)
*
* def get_default_parser(): # <<<<<<<<<<<<<<
* u"get_default_parser()"
* return __GLOBAL_PARSER_CONTEXT.getDefaultParser()
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_45get_default_parser, 0, __pyx_n_s_get_default_parser, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__201)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_45get_default_parser, 0, __pyx_n_s_get_default_parser, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__202)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_default_parser, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_default_parser, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/parser.pxi":1580
+ /* "src/lxml/parser.pxi":1591
* _HTML_DEFAULT_PARSE_OPTIONS = (
* htmlparser.HTML_PARSE_RECOVER |
* htmlparser.HTML_PARSE_NONET | # <<<<<<<<<<<<<<
*/
__pyx_v_4lxml_5etree__HTML_DEFAULT_PARSE_OPTIONS = ((HTML_PARSE_RECOVER | HTML_PARSE_NONET) | HTML_PARSE_COMPACT);
- /* "src/lxml/parser.pxi":1637
+ /* "src/lxml/parser.pxi":1648
*
* cdef HTMLParser __DEFAULT_HTML_PARSER
* __DEFAULT_HTML_PARSER = HTMLParser() # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_HTMLParser), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1637; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_HTMLParser), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XGOTREF(((PyObject *)__pyx_v_4lxml_5etree___DEFAULT_HTML_PARSER));
__Pyx_DECREF_SET(__pyx_v_4lxml_5etree___DEFAULT_HTML_PARSER, ((struct __pyx_obj_4lxml_5etree_HTMLParser *)__pyx_t_1));
*
*
*/
- __Pyx_INCREF(__pyx_tuple__202);
+ __Pyx_INCREF(__pyx_tuple__203);
__Pyx_XGOTREF(__pyx_v_4lxml_5etree_NS_END_EVENT);
- __Pyx_DECREF_SET(__pyx_v_4lxml_5etree_NS_END_EVENT, __pyx_tuple__202);
- __Pyx_GIVEREF(__pyx_tuple__202);
+ __Pyx_DECREF_SET(__pyx_v_4lxml_5etree_NS_END_EVENT, __pyx_tuple__203);
+ __Pyx_GIVEREF(__pyx_tuple__203);
/* "src/lxml/parsertarget.pxi":4
*
* self.result = result
*
*/
- __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_19_TargetParserResult_1__init__, 0, __pyx_n_s_TargetParserResult___init, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__204)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_19_TargetParserResult_1__init__, 0, __pyx_n_s_TargetParserResult___init, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__205)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
if (PyObject_SetItem(__pyx_t_8, __pyx_n_s_init, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_47XMLID, 0, __pyx_n_s_XMLID, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__206)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_47XMLID, 0, __pyx_n_s_XMLID, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__207)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__207);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__208);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_XMLID, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_6 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_49XMLDTDID, 0, __pyx_n_s_XMLDTDID, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__209)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_49XMLDTDID, 0, __pyx_n_s_XMLDTDID, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__210)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__210);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__211);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_6, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_XMLDTDID, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_51parseid, 0, __pyx_n_s_parseid, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__212)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_51parseid, 0, __pyx_n_s_parseid, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__213)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__213);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__214);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_parseid, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
* u"""cleanup_namespaces(tree_or_element, top_nsmap=None, keep_ns_prefixes=None)
*
*/
- __pyx_t_6 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_53cleanup_namespaces, 0, __pyx_n_s_cleanup_namespaces, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__215)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_53cleanup_namespaces, 0, __pyx_n_s_cleanup_namespaces, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__216)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__216);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__217);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_cleanup_namespaces, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
* u"""strip_attributes(tree_or_element, *attribute_names)
*
*/
- __pyx_t_6 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_55strip_attributes, 0, __pyx_n_s_strip_attributes, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__218)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_55strip_attributes, 0, __pyx_n_s_strip_attributes, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__219)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_strip_attributes, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_with_tail, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_57strip_elements, 0, __pyx_n_s_strip_elements, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__220)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_57strip_elements, 0, __pyx_n_s_strip_elements, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__221)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
* u"""strip_tags(tree_or_element, *tag_names)
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_59strip_tags, 0, __pyx_n_s_strip_tags, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__222)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_59strip_tags, 0, __pyx_n_s_strip_tags, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__223)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_strip_tags, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
* b"Number encoding",
* b"Unfinished literal",
*/
- __Pyx_INCREF(__pyx_tuple__223);
+ __Pyx_INCREF(__pyx_tuple__224);
__Pyx_XGOTREF(__pyx_v_4lxml_5etree_LIBXML2_XPATH_ERROR_MESSAGES);
- __Pyx_DECREF_SET(__pyx_v_4lxml_5etree_LIBXML2_XPATH_ERROR_MESSAGES, __pyx_tuple__223);
- __Pyx_GIVEREF(__pyx_tuple__223);
+ __Pyx_DECREF_SET(__pyx_v_4lxml_5etree_LIBXML2_XPATH_ERROR_MESSAGES, __pyx_tuple__224);
+ __Pyx_GIVEREF(__pyx_tuple__224);
/* "src/lxml/extensions.pxi":428
*
__pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ns, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_6 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_61Extension, 0, __pyx_n_s_Extension, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__225)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_61Extension, 0, __pyx_n_s_Extension, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__226)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__226);
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__227);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_6, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Extension, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
* return self._parent
*
*/
- __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_23_PyElementUnicodeResult_1getparent, 0, __pyx_n_s_PyElementUnicodeResult_getparen, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__228)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_23_PyElementUnicodeResult_1getparent, 0, __pyx_n_s_PyElementUnicodeResult_getparen, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__229)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
if (PyObject_SetItem(__pyx_t_8, __pyx_n_s_getparent, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
* return self._parent
*
*/
- __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_20_ElementStringResult_1getparent, 0, __pyx_n_s_ElementStringResult_getparent, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__230)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_20_ElementStringResult_1getparent, 0, __pyx_n_s_ElementStringResult_getparent, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__231)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
if (PyObject_SetItem(__pyx_t_8, __pyx_n_s_getparent, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (PyDict_SetItem(__pyx_t_16, __pyx_n_s_extensions, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (PyDict_SetItem(__pyx_t_16, __pyx_n_s_regexp, ((PyObject *)Py_True)) < 0) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (PyDict_SetItem(__pyx_t_16, __pyx_n_s_smart_strings, ((PyObject *)Py_True)) < 0) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_15 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_63XPathEvaluator, 0, __pyx_n_s_XPathEvaluator, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__232)); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_15 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_63XPathEvaluator, 0, __pyx_n_s_XPathEvaluator, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__233)); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_15);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_15, __pyx_t_16);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
*/
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_15);
- __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__234, NULL); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__235, NULL); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_sub); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
*/
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_15);
- __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__236, NULL); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__237, NULL); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_findall); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
* u"""strparam(strval)
*
*/
- __pyx_t_16 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_4XSLT_7strparam, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_XSLT_strparam, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__238)); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_16 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_4XSLT_7strparam, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_XSLT_strparam, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__239)); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_16);
/* "src/lxml/xslt.pxi":434
* u"""set_global_max_depth(max_depth)
*
*/
- __pyx_t_16 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_4XSLT_9set_global_max_depth, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_XSLT_set_global_max_depth, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__240)); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_16 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_5etree_4XSLT_9set_global_max_depth, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_XSLT_set_global_max_depth, NULL, __pyx_n_s_lxml_etree, __pyx_d, ((PyObject *)__pyx_codeobj__241)); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_16);
/* "src/lxml/xslt.pxi":448
*/
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_16);
- __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__241, NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__242, NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_XGOTREF(__pyx_v_4lxml_5etree__RE_PI_HREF);
* u"boolean(//xs:attribute[@default or @fixed][1])",
* namespaces={u'xs': u'http://www.w3.org/2001/XMLSchema'})
*/
- __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_XPath), __pyx_tuple__242, __pyx_t_16); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_5etree_XPath), __pyx_tuple__243, __pyx_t_16); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_XGOTREF(((PyObject *)__pyx_v_4lxml_5etree__check_for_default_attributes));
Py_CLEAR(__pyx_tuple__62);
Py_CLEAR(__pyx_tuple__63);
Py_CLEAR(__pyx_tuple__64);
- Py_CLEAR(__pyx_tuple__70);
+ Py_CLEAR(__pyx_tuple__65);
Py_CLEAR(__pyx_tuple__71);
Py_CLEAR(__pyx_tuple__72);
Py_CLEAR(__pyx_tuple__73);
Py_CLEAR(__pyx_tuple__74);
- Py_CLEAR(__pyx_tuple__78);
- Py_CLEAR(__pyx_slice__79);
+ Py_CLEAR(__pyx_tuple__75);
+ Py_CLEAR(__pyx_tuple__79);
Py_CLEAR(__pyx_slice__80);
- Py_CLEAR(__pyx_tuple__81);
- Py_CLEAR(__pyx_slice__82);
- Py_CLEAR(__pyx_tuple__84);
+ Py_CLEAR(__pyx_slice__81);
+ Py_CLEAR(__pyx_tuple__82);
+ Py_CLEAR(__pyx_slice__83);
Py_CLEAR(__pyx_tuple__85);
Py_CLEAR(__pyx_tuple__86);
Py_CLEAR(__pyx_tuple__87);
Py_CLEAR(__pyx_tuple__94);
Py_CLEAR(__pyx_tuple__95);
Py_CLEAR(__pyx_tuple__96);
- Py_CLEAR(__pyx_slice__97);
+ Py_CLEAR(__pyx_tuple__97);
Py_CLEAR(__pyx_slice__98);
- Py_CLEAR(__pyx_tuple__99);
+ Py_CLEAR(__pyx_slice__99);
Py_CLEAR(__pyx_tuple__100);
Py_CLEAR(__pyx_tuple__101);
- Py_CLEAR(__pyx_slice__102);
- Py_CLEAR(__pyx_tuple__103);
- Py_CLEAR(__pyx_tuple__105);
+ Py_CLEAR(__pyx_tuple__102);
+ Py_CLEAR(__pyx_slice__103);
+ Py_CLEAR(__pyx_tuple__104);
Py_CLEAR(__pyx_tuple__106);
Py_CLEAR(__pyx_tuple__107);
Py_CLEAR(__pyx_tuple__108);
Py_CLEAR(__pyx_tuple__118);
Py_CLEAR(__pyx_tuple__119);
Py_CLEAR(__pyx_tuple__120);
- Py_CLEAR(__pyx_codeobj__121);
- Py_CLEAR(__pyx_tuple__122);
- Py_CLEAR(__pyx_codeobj__123);
- Py_CLEAR(__pyx_tuple__124);
- Py_CLEAR(__pyx_codeobj__125);
- Py_CLEAR(__pyx_tuple__126);
- Py_CLEAR(__pyx_codeobj__127);
- Py_CLEAR(__pyx_tuple__128);
- Py_CLEAR(__pyx_codeobj__129);
- Py_CLEAR(__pyx_tuple__130);
- Py_CLEAR(__pyx_codeobj__131);
- Py_CLEAR(__pyx_tuple__132);
+ Py_CLEAR(__pyx_tuple__121);
+ Py_CLEAR(__pyx_codeobj__122);
+ Py_CLEAR(__pyx_tuple__123);
+ Py_CLEAR(__pyx_codeobj__124);
+ Py_CLEAR(__pyx_tuple__125);
+ Py_CLEAR(__pyx_codeobj__126);
+ Py_CLEAR(__pyx_tuple__127);
+ Py_CLEAR(__pyx_codeobj__128);
+ Py_CLEAR(__pyx_tuple__129);
+ Py_CLEAR(__pyx_codeobj__130);
+ Py_CLEAR(__pyx_tuple__131);
+ Py_CLEAR(__pyx_codeobj__132);
Py_CLEAR(__pyx_tuple__133);
Py_CLEAR(__pyx_tuple__134);
- Py_CLEAR(__pyx_codeobj__135);
- Py_CLEAR(__pyx_tuple__136);
- Py_CLEAR(__pyx_codeobj__137);
- Py_CLEAR(__pyx_tuple__138);
+ Py_CLEAR(__pyx_tuple__135);
+ Py_CLEAR(__pyx_codeobj__136);
+ Py_CLEAR(__pyx_tuple__137);
+ Py_CLEAR(__pyx_codeobj__138);
Py_CLEAR(__pyx_tuple__139);
- Py_CLEAR(__pyx_codeobj__140);
- Py_CLEAR(__pyx_tuple__141);
+ Py_CLEAR(__pyx_tuple__140);
+ Py_CLEAR(__pyx_codeobj__141);
Py_CLEAR(__pyx_tuple__142);
- Py_CLEAR(__pyx_codeobj__143);
- Py_CLEAR(__pyx_tuple__144);
+ Py_CLEAR(__pyx_tuple__143);
+ Py_CLEAR(__pyx_codeobj__144);
Py_CLEAR(__pyx_tuple__145);
Py_CLEAR(__pyx_tuple__146);
Py_CLEAR(__pyx_tuple__147);
Py_CLEAR(__pyx_tuple__148);
Py_CLEAR(__pyx_tuple__149);
- Py_CLEAR(__pyx_codeobj__150);
- Py_CLEAR(__pyx_tuple__151);
+ Py_CLEAR(__pyx_tuple__150);
+ Py_CLEAR(__pyx_codeobj__151);
Py_CLEAR(__pyx_tuple__152);
- Py_CLEAR(__pyx_codeobj__153);
- Py_CLEAR(__pyx_tuple__154);
+ Py_CLEAR(__pyx_tuple__153);
+ Py_CLEAR(__pyx_codeobj__154);
Py_CLEAR(__pyx_tuple__155);
- Py_CLEAR(__pyx_codeobj__156);
- Py_CLEAR(__pyx_tuple__157);
+ Py_CLEAR(__pyx_tuple__156);
+ Py_CLEAR(__pyx_codeobj__157);
Py_CLEAR(__pyx_tuple__158);
- Py_CLEAR(__pyx_codeobj__159);
- Py_CLEAR(__pyx_tuple__160);
- Py_CLEAR(__pyx_codeobj__161);
- Py_CLEAR(__pyx_tuple__162);
+ Py_CLEAR(__pyx_tuple__159);
+ Py_CLEAR(__pyx_codeobj__160);
+ Py_CLEAR(__pyx_tuple__161);
+ Py_CLEAR(__pyx_codeobj__162);
Py_CLEAR(__pyx_tuple__163);
- Py_CLEAR(__pyx_codeobj__164);
- Py_CLEAR(__pyx_tuple__165);
+ Py_CLEAR(__pyx_tuple__164);
+ Py_CLEAR(__pyx_codeobj__165);
Py_CLEAR(__pyx_tuple__166);
- Py_CLEAR(__pyx_codeobj__167);
- Py_CLEAR(__pyx_tuple__168);
+ Py_CLEAR(__pyx_tuple__167);
+ Py_CLEAR(__pyx_codeobj__168);
Py_CLEAR(__pyx_tuple__169);
- Py_CLEAR(__pyx_codeobj__170);
- Py_CLEAR(__pyx_tuple__171);
+ Py_CLEAR(__pyx_tuple__170);
+ Py_CLEAR(__pyx_codeobj__171);
Py_CLEAR(__pyx_tuple__172);
- Py_CLEAR(__pyx_codeobj__173);
- Py_CLEAR(__pyx_tuple__174);
+ Py_CLEAR(__pyx_tuple__173);
+ Py_CLEAR(__pyx_codeobj__174);
Py_CLEAR(__pyx_tuple__175);
- Py_CLEAR(__pyx_codeobj__176);
- Py_CLEAR(__pyx_tuple__177);
+ Py_CLEAR(__pyx_tuple__176);
+ Py_CLEAR(__pyx_codeobj__177);
Py_CLEAR(__pyx_tuple__178);
- Py_CLEAR(__pyx_codeobj__179);
- Py_CLEAR(__pyx_tuple__180);
- Py_CLEAR(__pyx_codeobj__181);
- Py_CLEAR(__pyx_tuple__182);
- Py_CLEAR(__pyx_codeobj__183);
- Py_CLEAR(__pyx_tuple__184);
- Py_CLEAR(__pyx_codeobj__185);
- Py_CLEAR(__pyx_tuple__186);
- Py_CLEAR(__pyx_codeobj__187);
- Py_CLEAR(__pyx_tuple__188);
- Py_CLEAR(__pyx_codeobj__189);
- Py_CLEAR(__pyx_tuple__190);
+ Py_CLEAR(__pyx_tuple__179);
+ Py_CLEAR(__pyx_codeobj__180);
+ Py_CLEAR(__pyx_tuple__181);
+ Py_CLEAR(__pyx_codeobj__182);
+ Py_CLEAR(__pyx_tuple__183);
+ Py_CLEAR(__pyx_codeobj__184);
+ Py_CLEAR(__pyx_tuple__185);
+ Py_CLEAR(__pyx_codeobj__186);
+ Py_CLEAR(__pyx_tuple__187);
+ Py_CLEAR(__pyx_codeobj__188);
+ Py_CLEAR(__pyx_tuple__189);
+ Py_CLEAR(__pyx_codeobj__190);
Py_CLEAR(__pyx_tuple__191);
- Py_CLEAR(__pyx_codeobj__192);
- Py_CLEAR(__pyx_tuple__193);
+ Py_CLEAR(__pyx_tuple__192);
+ Py_CLEAR(__pyx_codeobj__193);
Py_CLEAR(__pyx_tuple__194);
- Py_CLEAR(__pyx_codeobj__195);
- Py_CLEAR(__pyx_tuple__196);
- Py_CLEAR(__pyx_codeobj__197);
- Py_CLEAR(__pyx_tuple__198);
- Py_CLEAR(__pyx_codeobj__199);
- Py_CLEAR(__pyx_tuple__200);
- Py_CLEAR(__pyx_codeobj__201);
- Py_CLEAR(__pyx_tuple__202);
+ Py_CLEAR(__pyx_tuple__195);
+ Py_CLEAR(__pyx_codeobj__196);
+ Py_CLEAR(__pyx_tuple__197);
+ Py_CLEAR(__pyx_codeobj__198);
+ Py_CLEAR(__pyx_tuple__199);
+ Py_CLEAR(__pyx_codeobj__200);
+ Py_CLEAR(__pyx_tuple__201);
+ Py_CLEAR(__pyx_codeobj__202);
Py_CLEAR(__pyx_tuple__203);
- Py_CLEAR(__pyx_codeobj__204);
- Py_CLEAR(__pyx_tuple__205);
- Py_CLEAR(__pyx_codeobj__206);
- Py_CLEAR(__pyx_tuple__207);
+ Py_CLEAR(__pyx_tuple__204);
+ Py_CLEAR(__pyx_codeobj__205);
+ Py_CLEAR(__pyx_tuple__206);
+ Py_CLEAR(__pyx_codeobj__207);
Py_CLEAR(__pyx_tuple__208);
- Py_CLEAR(__pyx_codeobj__209);
- Py_CLEAR(__pyx_tuple__210);
+ Py_CLEAR(__pyx_tuple__209);
+ Py_CLEAR(__pyx_codeobj__210);
Py_CLEAR(__pyx_tuple__211);
- Py_CLEAR(__pyx_codeobj__212);
- Py_CLEAR(__pyx_tuple__213);
+ Py_CLEAR(__pyx_tuple__212);
+ Py_CLEAR(__pyx_codeobj__213);
Py_CLEAR(__pyx_tuple__214);
- Py_CLEAR(__pyx_codeobj__215);
- Py_CLEAR(__pyx_tuple__216);
+ Py_CLEAR(__pyx_tuple__215);
+ Py_CLEAR(__pyx_codeobj__216);
Py_CLEAR(__pyx_tuple__217);
- Py_CLEAR(__pyx_codeobj__218);
- Py_CLEAR(__pyx_tuple__219);
- Py_CLEAR(__pyx_codeobj__220);
- Py_CLEAR(__pyx_tuple__221);
- Py_CLEAR(__pyx_codeobj__222);
- Py_CLEAR(__pyx_tuple__223);
+ Py_CLEAR(__pyx_tuple__218);
+ Py_CLEAR(__pyx_codeobj__219);
+ Py_CLEAR(__pyx_tuple__220);
+ Py_CLEAR(__pyx_codeobj__221);
+ Py_CLEAR(__pyx_tuple__222);
+ Py_CLEAR(__pyx_codeobj__223);
Py_CLEAR(__pyx_tuple__224);
- Py_CLEAR(__pyx_codeobj__225);
- Py_CLEAR(__pyx_tuple__226);
+ Py_CLEAR(__pyx_tuple__225);
+ Py_CLEAR(__pyx_codeobj__226);
Py_CLEAR(__pyx_tuple__227);
- Py_CLEAR(__pyx_codeobj__228);
- Py_CLEAR(__pyx_tuple__229);
- Py_CLEAR(__pyx_codeobj__230);
- Py_CLEAR(__pyx_tuple__231);
- Py_CLEAR(__pyx_codeobj__232);
- Py_CLEAR(__pyx_tuple__234);
- Py_CLEAR(__pyx_tuple__236);
+ Py_CLEAR(__pyx_tuple__228);
+ Py_CLEAR(__pyx_codeobj__229);
+ Py_CLEAR(__pyx_tuple__230);
+ Py_CLEAR(__pyx_codeobj__231);
+ Py_CLEAR(__pyx_tuple__232);
+ Py_CLEAR(__pyx_codeobj__233);
+ Py_CLEAR(__pyx_tuple__235);
Py_CLEAR(__pyx_tuple__237);
- Py_CLEAR(__pyx_codeobj__238);
- Py_CLEAR(__pyx_tuple__239);
- Py_CLEAR(__pyx_codeobj__240);
- Py_CLEAR(__pyx_tuple__241);
+ Py_CLEAR(__pyx_tuple__238);
+ Py_CLEAR(__pyx_codeobj__239);
+ Py_CLEAR(__pyx_tuple__240);
+ Py_CLEAR(__pyx_codeobj__241);
Py_CLEAR(__pyx_tuple__242);
+ Py_CLEAR(__pyx_tuple__243);
if (__pyx_code_cache.entries) {
__Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
int i, count = __pyx_code_cache.count;
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (int) 0;
- case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, -(sdigit) digits[0])
+ case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0])
case -2:
if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (size_t) 0;
- case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, -(sdigit) digits[0])
+ case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, +digits[0])
case -2:
if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) {
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (signed char) 0;
- case -1: __PYX_VERIFY_RETURN_INT(signed char, sdigit, -(sdigit) digits[0])
+ case -1: __PYX_VERIFY_RETURN_INT(signed char, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(signed char, digit, +digits[0])
case -2:
if (8 * sizeof(signed char) - 1 > 1 * PyLong_SHIFT) {
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (unsigned short) 0;
- case -1: __PYX_VERIFY_RETURN_INT(unsigned short, sdigit, -(sdigit) digits[0])
+ case -1: __PYX_VERIFY_RETURN_INT(unsigned short, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(unsigned short, digit, +digits[0])
case -2:
if (8 * sizeof(unsigned short) - 1 > 1 * PyLong_SHIFT) {
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (long) 0;
- case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, -(sdigit) digits[0])
+ case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0])
case -2:
if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
#endif
{
if (value == Py_None)
- ret = PyIter_Next(yf);
+ ret = Py_TYPE(yf)->tp_iternext(yf);
else
ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
}
-/* Generated by Cython 0.23.4 */
+/* Generated by Cython 0.23.5 */
#ifndef __PYX_HAVE__lxml__etree
#define __PYX_HAVE__lxml__etree
-/* Generated by Cython 0.23.4 */
+/* Generated by Cython 0.23.5 */
#ifndef __PYX_HAVE_API__lxml__etree
#define __PYX_HAVE_API__lxml__etree
-/* Generated by Cython 0.23.4 */
+/* Generated by Cython 0.23.5 */
/* BEGIN: Cython Metadata
{
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
#error Cython requires Python 2.6+ or Python 3.2+.
#else
-#define CYTHON_ABI "0_23_4"
+#define CYTHON_ABI "0_23_5"
#include <stddef.h>
#ifndef offsetof
#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
};
-/* "src/lxml/lxml.objectify.pyx":1122
+/* "src/lxml/lxml.objectify.pyx":1125
* @cython.final
* @cython.internal
* cdef class _ObjectifyElementMakerCaller: # <<<<<<<<<<<<<<
};
-/* "src/lxml/lxml.objectify.pyx":1212
+/* "src/lxml/lxml.objectify.pyx":1215
* cetree.setNodeText(elem._c_node, text)
*
* cdef class ElementMaker: # <<<<<<<<<<<<<<
};
-/* "src/lxml/lxml.objectify.pyx":1370
+/* "src/lxml/lxml.objectify.pyx":1373
* # Element class lookup
*
* cdef class ObjectifyElementClassLookup(ElementClassLookup): # <<<<<<<<<<<<<<
-/* "src/lxml/lxml.objectify.pyx":1212
+/* "src/lxml/lxml.objectify.pyx":1215
* cetree.setNodeText(elem._c_node, text)
*
* cdef class ElementMaker: # <<<<<<<<<<<<<<
static char __pyx_k_none[] = "none";
static char __pyx_k_path[] = "path";
static char __pyx_k_py_2[] = "py";
+ static char __pyx_k_repr[] = "repr";
static char __pyx_k_root[] = "root";
static char __pyx_k_tail[] = "tail";
static char __pyx_k_temp[] = "temp";
static PyObject *__pyx_n_s_remove;
static PyObject *__pyx_n_s_remove_blank_text;
static PyObject *__pyx_n_s_replace;
+static PyObject *__pyx_n_s_repr;
static PyObject *__pyx_n_s_root;
static PyObject *__pyx_kp_u_root_element_does_not_match_need;
static PyObject *__pyx_kp_u_s;
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":917
+/* "src/lxml/lxml.objectify.pyx":920
* cdef object _type
* cdef list _schema_types
* def __init__(self, name, type_check, type_class, stringify=None): # <<<<<<<<<<<<<<
case 1:
if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type_check)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type_class)) != 0)) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 3:
if (kw_args > 0) {
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.PyType.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__Pyx_INCREF(__pyx_v_name);
__Pyx_INCREF(__pyx_v_stringify);
- /* "src/lxml/lxml.objectify.pyx":918
+ /* "src/lxml/lxml.objectify.pyx":921
* cdef list _schema_types
* def __init__(self, name, type_check, type_class, stringify=None):
* if isinstance(name, bytes): # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":919
+ /* "src/lxml/lxml.objectify.pyx":922
* def __init__(self, name, type_check, type_class, stringify=None):
* if isinstance(name, bytes):
* name = (<bytes>name).decode('ascii') # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_name == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "decode");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_3 = __Pyx_decode_bytes(((PyObject*)__pyx_v_name), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_decode_bytes(((PyObject*)__pyx_v_name), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":918
+ /* "src/lxml/lxml.objectify.pyx":921
* cdef list _schema_types
* def __init__(self, name, type_check, type_class, stringify=None):
* if isinstance(name, bytes): # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/lxml.objectify.pyx":920
+ /* "src/lxml/lxml.objectify.pyx":923
* if isinstance(name, bytes):
* name = (<bytes>name).decode('ascii')
* elif not isinstance(name, unicode): # <<<<<<<<<<<<<<
__pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":921
+ /* "src/lxml/lxml.objectify.pyx":924
* name = (<bytes>name).decode('ascii')
* elif not isinstance(name, unicode):
* raise TypeError, u"Type name must be a string" # <<<<<<<<<<<<<<
* raise TypeError, u"Type check function must be callable (or None)"
*/
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_u_Type_name_must_be_a_string, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":920
+ /* "src/lxml/lxml.objectify.pyx":923
* if isinstance(name, bytes):
* name = (<bytes>name).decode('ascii')
* elif not isinstance(name, unicode): # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/lxml.objectify.pyx":922
+ /* "src/lxml/lxml.objectify.pyx":925
* elif not isinstance(name, unicode):
* raise TypeError, u"Type name must be a string"
* if type_check is not None and not callable(type_check): # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_t_4;
goto __pyx_L5_bool_binop_done;
}
- __pyx_t_4 = __Pyx_PyCallable_Check(__pyx_v_type_check); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyCallable_Check(__pyx_v_type_check); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
__pyx_t_1 = __pyx_t_2;
__pyx_L5_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":923
+ /* "src/lxml/lxml.objectify.pyx":926
* raise TypeError, u"Type name must be a string"
* if type_check is not None and not callable(type_check):
* raise TypeError, u"Type check function must be callable (or None)" # <<<<<<<<<<<<<<
* not issubclass(type_class, ObjectifiedDataElement):
*/
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_u_Type_check_function_must_be_call, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":922
+ /* "src/lxml/lxml.objectify.pyx":925
* elif not isinstance(name, unicode):
* raise TypeError, u"Type name must be a string"
* if type_check is not None and not callable(type_check): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":924
+ /* "src/lxml/lxml.objectify.pyx":927
* if type_check is not None and not callable(type_check):
* raise TypeError, u"Type check function must be callable (or None)"
* if name != TREE_PYTYPE_NAME and \ # <<<<<<<<<<<<<<
* not issubclass(type_class, ObjectifiedDataElement):
* raise TypeError, \
*/
- __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L8_bool_binop_done;
}
- /* "src/lxml/lxml.objectify.pyx":925
+ /* "src/lxml/lxml.objectify.pyx":928
* raise TypeError, u"Type check function must be callable (or None)"
* if name != TREE_PYTYPE_NAME and \
* not issubclass(type_class, ObjectifiedDataElement): # <<<<<<<<<<<<<<
* raise TypeError, \
* u"Data classes must inherit from ObjectifiedDataElement"
*/
- __pyx_t_2 = PyObject_IsSubclass(__pyx_v_type_class, ((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifiedDataElement)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_IsSubclass(__pyx_v_type_class, ((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifiedDataElement)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_4 = ((!(__pyx_t_2 != 0)) != 0);
__pyx_t_1 = __pyx_t_4;
__pyx_L8_bool_binop_done:;
- /* "src/lxml/lxml.objectify.pyx":924
+ /* "src/lxml/lxml.objectify.pyx":927
* if type_check is not None and not callable(type_check):
* raise TypeError, u"Type check function must be callable (or None)"
* if name != TREE_PYTYPE_NAME and \ # <<<<<<<<<<<<<<
*/
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":926
+ /* "src/lxml/lxml.objectify.pyx":929
* if name != TREE_PYTYPE_NAME and \
* not issubclass(type_class, ObjectifiedDataElement):
* raise TypeError, \ # <<<<<<<<<<<<<<
* self.name = name
*/
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_u_Data_classes_must_inherit_from_O, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":924
+ /* "src/lxml/lxml.objectify.pyx":927
* if type_check is not None and not callable(type_check):
* raise TypeError, u"Type check function must be callable (or None)"
* if name != TREE_PYTYPE_NAME and \ # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":928
+ /* "src/lxml/lxml.objectify.pyx":931
* raise TypeError, \
* u"Data classes must inherit from ObjectifiedDataElement"
* self.name = name # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->name);
__pyx_v_self->name = __pyx_v_name;
- /* "src/lxml/lxml.objectify.pyx":929
+ /* "src/lxml/lxml.objectify.pyx":932
* u"Data classes must inherit from ObjectifiedDataElement"
* self.name = name
* self._type = type_class # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->_type);
__pyx_v_self->_type = __pyx_v_type_class;
- /* "src/lxml/lxml.objectify.pyx":930
+ /* "src/lxml/lxml.objectify.pyx":933
* self.name = name
* self._type = type_class
* self.type_check = type_check # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->type_check);
__pyx_v_self->type_check = __pyx_v_type_check;
- /* "src/lxml/lxml.objectify.pyx":931
+ /* "src/lxml/lxml.objectify.pyx":934
* self._type = type_class
* self.type_check = type_check
* if stringify is None: # <<<<<<<<<<<<<<
__pyx_t_4 = (__pyx_t_1 != 0);
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":932
+ /* "src/lxml/lxml.objectify.pyx":935
* self.type_check = type_check
* if stringify is None:
* stringify = unicode # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)(&PyUnicode_Type)));
__Pyx_DECREF_SET(__pyx_v_stringify, ((PyObject *)(&PyUnicode_Type)));
- /* "src/lxml/lxml.objectify.pyx":931
+ /* "src/lxml/lxml.objectify.pyx":934
* self._type = type_class
* self.type_check = type_check
* if stringify is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":933
+ /* "src/lxml/lxml.objectify.pyx":936
* if stringify is None:
* stringify = unicode
* self.stringify = stringify # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->stringify);
__pyx_v_self->stringify = __pyx_v_stringify;
- /* "src/lxml/lxml.objectify.pyx":934
+ /* "src/lxml/lxml.objectify.pyx":937
* stringify = unicode
* self.stringify = stringify
* self._schema_types = [] # <<<<<<<<<<<<<<
*
* def __repr__(self):
*/
- __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_v_self->_schema_types);
__pyx_v_self->_schema_types = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":917
+ /* "src/lxml/lxml.objectify.pyx":920
* cdef object _type
* cdef list _schema_types
* def __init__(self, name, type_check, type_class, stringify=None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":936
+/* "src/lxml/lxml.objectify.pyx":939
* self._schema_types = []
*
* def __repr__(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__repr__", 0);
- /* "src/lxml/lxml.objectify.pyx":937
+ /* "src/lxml/lxml.objectify.pyx":940
*
* def __repr__(self):
* return "PyType(%s, %s)" % (self.name, self._type.__name__) # <<<<<<<<<<<<<<
* def register(self, before=None, after=None):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_type, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_type, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_self->name);
__Pyx_GIVEREF(__pyx_v_self->name);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_PyType_s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_PyType_s_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":936
+ /* "src/lxml/lxml.objectify.pyx":939
* self._schema_types = []
*
* def __repr__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":939
+/* "src/lxml/lxml.objectify.pyx":942
* return "PyType(%s, %s)" % (self.name, self._type.__name__)
*
* def register(self, before=None, after=None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "register") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "register") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("register", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("register", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.PyType.register", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__Pyx_INCREF(__pyx_v_before);
__Pyx_INCREF(__pyx_v_after);
- /* "src/lxml/lxml.objectify.pyx":949
+ /* "src/lxml/lxml.objectify.pyx":952
* ignored. Raises ValueError if the dependencies cannot be fulfilled.
* """
* if self.name == TREE_PYTYPE_NAME: # <<<<<<<<<<<<<<
* raise ValueError, u"Cannot register tree type"
* if self.type_check is not None:
*/
- __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->name, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->name, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":950
+ /* "src/lxml/lxml.objectify.pyx":953
* """
* if self.name == TREE_PYTYPE_NAME:
* raise ValueError, u"Cannot register tree type" # <<<<<<<<<<<<<<
* for item in _TYPE_CHECKS:
*/
__Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_u_Cannot_register_tree_type, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":949
+ /* "src/lxml/lxml.objectify.pyx":952
* ignored. Raises ValueError if the dependencies cannot be fulfilled.
* """
* if self.name == TREE_PYTYPE_NAME: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":951
+ /* "src/lxml/lxml.objectify.pyx":954
* if self.name == TREE_PYTYPE_NAME:
* raise ValueError, u"Cannot register tree type"
* if self.type_check is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":952
+ /* "src/lxml/lxml.objectify.pyx":955
* raise ValueError, u"Cannot register tree type"
* if self.type_check is not None:
* for item in _TYPE_CHECKS: # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__TYPE_CHECKS == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_t_3 = __pyx_v_4lxml_9objectify__TYPE_CHECKS; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
__Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":953
+ /* "src/lxml/lxml.objectify.pyx":956
* if self.type_check is not None:
* for item in _TYPE_CHECKS:
* if item[0] is self.type_check: # <<<<<<<<<<<<<<
* _TYPE_CHECKS.remove(item)
* break
*/
- __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_item, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_item, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 956; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = (__pyx_t_5 == __pyx_v_self->type_check);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":954
+ /* "src/lxml/lxml.objectify.pyx":957
* for item in _TYPE_CHECKS:
* if item[0] is self.type_check:
* _TYPE_CHECKS.remove(item) # <<<<<<<<<<<<<<
* break
* entry = (self.type_check, self)
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify__TYPE_CHECKS, __pyx_n_s_remove); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify__TYPE_CHECKS, __pyx_n_s_remove); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
}
}
if (!__pyx_t_7) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_item); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_item); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
} else {
- __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
__Pyx_INCREF(__pyx_v_item);
__Pyx_GIVEREF(__pyx_v_item);
PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_v_item);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":955
+ /* "src/lxml/lxml.objectify.pyx":958
* if item[0] is self.type_check:
* _TYPE_CHECKS.remove(item)
* break # <<<<<<<<<<<<<<
*/
goto __pyx_L6_break;
- /* "src/lxml/lxml.objectify.pyx":953
+ /* "src/lxml/lxml.objectify.pyx":956
* if self.type_check is not None:
* for item in _TYPE_CHECKS:
* if item[0] is self.type_check: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":952
+ /* "src/lxml/lxml.objectify.pyx":955
* raise ValueError, u"Cannot register tree type"
* if self.type_check is not None:
* for item in _TYPE_CHECKS: # <<<<<<<<<<<<<<
__pyx_L6_break:;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":956
+ /* "src/lxml/lxml.objectify.pyx":959
* _TYPE_CHECKS.remove(item)
* break
* entry = (self.type_check, self) # <<<<<<<<<<<<<<
* first_pos = 0
* last_pos = -1
*/
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 956; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_self->type_check);
__Pyx_GIVEREF(__pyx_v_self->type_check);
__pyx_v_entry = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":957
+ /* "src/lxml/lxml.objectify.pyx":960
* break
* entry = (self.type_check, self)
* first_pos = 0 # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_int_0);
__pyx_v_first_pos = __pyx_int_0;
- /* "src/lxml/lxml.objectify.pyx":958
+ /* "src/lxml/lxml.objectify.pyx":961
* entry = (self.type_check, self)
* first_pos = 0
* last_pos = -1 # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_int_neg_1);
__pyx_v_last_pos = __pyx_int_neg_1;
- /* "src/lxml/lxml.objectify.pyx":959
+ /* "src/lxml/lxml.objectify.pyx":962
* first_pos = 0
* last_pos = -1
* if before or after: # <<<<<<<<<<<<<<
* if before is None:
* before = ()
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_before); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_before); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (!__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L9_bool_binop_done;
}
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_after); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_after); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = __pyx_t_2;
__pyx_L9_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":960
+ /* "src/lxml/lxml.objectify.pyx":963
* last_pos = -1
* if before or after:
* if before is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":961
+ /* "src/lxml/lxml.objectify.pyx":964
* if before or after:
* if before is None:
* before = () # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_empty_tuple);
__Pyx_DECREF_SET(__pyx_v_before, __pyx_empty_tuple);
- /* "src/lxml/lxml.objectify.pyx":960
+ /* "src/lxml/lxml.objectify.pyx":963
* last_pos = -1
* if before or after:
* if before is None: # <<<<<<<<<<<<<<
goto __pyx_L11;
}
- /* "src/lxml/lxml.objectify.pyx":962
+ /* "src/lxml/lxml.objectify.pyx":965
* if before is None:
* before = ()
* elif after is None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":963
+ /* "src/lxml/lxml.objectify.pyx":966
* before = ()
* elif after is None:
* after = () # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_empty_tuple);
__Pyx_DECREF_SET(__pyx_v_after, __pyx_empty_tuple);
- /* "src/lxml/lxml.objectify.pyx":962
+ /* "src/lxml/lxml.objectify.pyx":965
* if before is None:
* before = ()
* elif after is None: # <<<<<<<<<<<<<<
}
__pyx_L11:;
- /* "src/lxml/lxml.objectify.pyx":964
+ /* "src/lxml/lxml.objectify.pyx":967
* elif after is None:
* after = ()
* for i, (check, pytype) in enumerate(_TYPE_CHECKS): # <<<<<<<<<<<<<<
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
#endif
if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
__Pyx_GOTREF(__pyx_t_8);
index = 1; __pyx_t_7 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L14_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_10 = NULL;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
goto __pyx_L15_unpacking_done;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_10 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L15_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_check, __pyx_t_8);
__pyx_t_7 = 0;
__Pyx_INCREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
- __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3);
__pyx_t_3 = __pyx_t_6;
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":965
+ /* "src/lxml/lxml.objectify.pyx":968
* after = ()
* for i, (check, pytype) in enumerate(_TYPE_CHECKS):
* if last_pos == -1 and pytype.name in before: # <<<<<<<<<<<<<<
* last_pos = i
* if pytype.name in after:
*/
- __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_v_last_pos, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_v_last_pos, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__pyx_t_2) {
} else {
__pyx_t_1 = __pyx_t_2;
goto __pyx_L17_bool_binop_done;
}
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_pytype, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_pytype, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_6, __pyx_v_before, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_6, __pyx_v_before, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_11 = (__pyx_t_2 != 0);
__pyx_t_1 = __pyx_t_11;
__pyx_L17_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":966
+ /* "src/lxml/lxml.objectify.pyx":969
* for i, (check, pytype) in enumerate(_TYPE_CHECKS):
* if last_pos == -1 and pytype.name in before:
* last_pos = i # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_i);
__Pyx_DECREF_SET(__pyx_v_last_pos, __pyx_v_i);
- /* "src/lxml/lxml.objectify.pyx":965
+ /* "src/lxml/lxml.objectify.pyx":968
* after = ()
* for i, (check, pytype) in enumerate(_TYPE_CHECKS):
* if last_pos == -1 and pytype.name in before: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":967
+ /* "src/lxml/lxml.objectify.pyx":970
* if last_pos == -1 and pytype.name in before:
* last_pos = i
* if pytype.name in after: # <<<<<<<<<<<<<<
* first_pos = i+1
* if last_pos == -1:
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_pytype, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_pytype, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_t_6, __pyx_v_after, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_t_6, __pyx_v_after, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_11 = (__pyx_t_1 != 0);
if (__pyx_t_11) {
- /* "src/lxml/lxml.objectify.pyx":968
+ /* "src/lxml/lxml.objectify.pyx":971
* last_pos = i
* if pytype.name in after:
* first_pos = i+1 # <<<<<<<<<<<<<<
* if last_pos == -1:
* _TYPE_CHECKS.append(entry)
*/
- __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_first_pos, __pyx_t_6);
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":967
+ /* "src/lxml/lxml.objectify.pyx":970
* if last_pos == -1 and pytype.name in before:
* last_pos = i
* if pytype.name in after: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":964
+ /* "src/lxml/lxml.objectify.pyx":967
* elif after is None:
* after = ()
* for i, (check, pytype) in enumerate(_TYPE_CHECKS): # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":959
+ /* "src/lxml/lxml.objectify.pyx":962
* first_pos = 0
* last_pos = -1
* if before or after: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":969
+ /* "src/lxml/lxml.objectify.pyx":972
* if pytype.name in after:
* first_pos = i+1
* if last_pos == -1: # <<<<<<<<<<<<<<
* _TYPE_CHECKS.append(entry)
* elif first_pos > last_pos:
*/
- __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_last_pos, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_last_pos, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_11) {
- /* "src/lxml/lxml.objectify.pyx":970
+ /* "src/lxml/lxml.objectify.pyx":973
* first_pos = i+1
* if last_pos == -1:
* _TYPE_CHECKS.append(entry) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__TYPE_CHECKS == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_4lxml_9objectify__TYPE_CHECKS, __pyx_v_entry); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_4lxml_9objectify__TYPE_CHECKS, __pyx_v_entry); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":969
+ /* "src/lxml/lxml.objectify.pyx":972
* if pytype.name in after:
* first_pos = i+1
* if last_pos == -1: # <<<<<<<<<<<<<<
goto __pyx_L20;
}
- /* "src/lxml/lxml.objectify.pyx":971
+ /* "src/lxml/lxml.objectify.pyx":974
* if last_pos == -1:
* _TYPE_CHECKS.append(entry)
* elif first_pos > last_pos: # <<<<<<<<<<<<<<
* raise ValueError, u"inconsistent before/after dependencies"
* else:
*/
- __pyx_t_3 = PyObject_RichCompare(__pyx_v_first_pos, __pyx_v_last_pos, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyObject_RichCompare(__pyx_v_first_pos, __pyx_v_last_pos, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_11) {
- /* "src/lxml/lxml.objectify.pyx":972
+ /* "src/lxml/lxml.objectify.pyx":975
* _TYPE_CHECKS.append(entry)
* elif first_pos > last_pos:
* raise ValueError, u"inconsistent before/after dependencies" # <<<<<<<<<<<<<<
* _TYPE_CHECKS.insert(last_pos, entry)
*/
__Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_u_inconsistent_before_after_depend, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 975; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":971
+ /* "src/lxml/lxml.objectify.pyx":974
* if last_pos == -1:
* _TYPE_CHECKS.append(entry)
* elif first_pos > last_pos: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":974
+ /* "src/lxml/lxml.objectify.pyx":977
* raise ValueError, u"inconsistent before/after dependencies"
* else:
* _TYPE_CHECKS.insert(last_pos, entry) # <<<<<<<<<<<<<<
/*else*/ {
if (unlikely(__pyx_v_4lxml_9objectify__TYPE_CHECKS == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "insert");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_v_last_pos); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_12 = PyList_Insert(__pyx_v_4lxml_9objectify__TYPE_CHECKS, __pyx_t_4, __pyx_v_entry); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_v_last_pos); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = PyList_Insert(__pyx_v_4lxml_9objectify__TYPE_CHECKS, __pyx_t_4, __pyx_v_entry); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_L20:;
- /* "src/lxml/lxml.objectify.pyx":951
+ /* "src/lxml/lxml.objectify.pyx":954
* if self.name == TREE_PYTYPE_NAME:
* raise ValueError, u"Cannot register tree type"
* if self.type_check is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":976
+ /* "src/lxml/lxml.objectify.pyx":979
* _TYPE_CHECKS.insert(last_pos, entry)
*
* _PYTYPE_DICT[self.name] = self # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (unlikely(PyDict_SetItem(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_self->name, ((PyObject *)__pyx_v_self)) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyDict_SetItem(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_self->name, ((PyObject *)__pyx_v_self)) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 979; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":977
+ /* "src/lxml/lxml.objectify.pyx":980
*
* _PYTYPE_DICT[self.name] = self
* for xs_type in self._schema_types: # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->_schema_types == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_t_3 = __pyx_v_self->_schema_types; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
__Pyx_XDECREF_SET(__pyx_v_xs_type, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":978
+ /* "src/lxml/lxml.objectify.pyx":981
* _PYTYPE_DICT[self.name] = self
* for xs_type in self._schema_types:
* _SCHEMA_TYPE_DICT[xs_type] = self # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (unlikely(PyDict_SetItem(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_xs_type, ((PyObject *)__pyx_v_self)) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyDict_SetItem(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_xs_type, ((PyObject *)__pyx_v_self)) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":977
+ /* "src/lxml/lxml.objectify.pyx":980
*
* _PYTYPE_DICT[self.name] = self
* for xs_type in self._schema_types: # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":939
+ /* "src/lxml/lxml.objectify.pyx":942
* return "PyType(%s, %s)" % (self.name, self._type.__name__)
*
* def register(self, before=None, after=None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":980
+/* "src/lxml/lxml.objectify.pyx":983
* _SCHEMA_TYPE_DICT[xs_type] = self
*
* def unregister(self): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("unregister", 0);
- /* "src/lxml/lxml.objectify.pyx":982
+ /* "src/lxml/lxml.objectify.pyx":985
* def unregister(self):
* u"unregister(self)"
* if _PYTYPE_DICT.get(self.name) is self: # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_self->name, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 982; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_self->name, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = (__pyx_t_1 == ((PyObject *)__pyx_v_self));
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":983
+ /* "src/lxml/lxml.objectify.pyx":986
* u"unregister(self)"
* if _PYTYPE_DICT.get(self.name) is self:
* del _PYTYPE_DICT[self.name] # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (PyDict_DelItem(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_self->name) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 983; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_DelItem(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_self->name) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":982
+ /* "src/lxml/lxml.objectify.pyx":985
* def unregister(self):
* u"unregister(self)"
* if _PYTYPE_DICT.get(self.name) is self: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":984
+ /* "src/lxml/lxml.objectify.pyx":987
* if _PYTYPE_DICT.get(self.name) is self:
* del _PYTYPE_DICT[self.name]
* for xs_type, pytype in list(_SCHEMA_TYPE_DICT.items()): # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "items");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
for (;;) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
#endif
if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L6_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L7_unpacking_done;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L7_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_xs_type, __pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_pytype, __pyx_t_7);
__pyx_t_7 = 0;
- /* "src/lxml/lxml.objectify.pyx":985
+ /* "src/lxml/lxml.objectify.pyx":988
* del _PYTYPE_DICT[self.name]
* for xs_type, pytype in list(_SCHEMA_TYPE_DICT.items()):
* if pytype is self: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":986
+ /* "src/lxml/lxml.objectify.pyx":989
* for xs_type, pytype in list(_SCHEMA_TYPE_DICT.items()):
* if pytype is self:
* del _SCHEMA_TYPE_DICT[xs_type] # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 989; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (PyDict_DelItem(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_xs_type) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_DelItem(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_xs_type) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 989; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":985
+ /* "src/lxml/lxml.objectify.pyx":988
* del _PYTYPE_DICT[self.name]
* for xs_type, pytype in list(_SCHEMA_TYPE_DICT.items()):
* if pytype is self: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":984
+ /* "src/lxml/lxml.objectify.pyx":987
* if _PYTYPE_DICT.get(self.name) is self:
* del _PYTYPE_DICT[self.name]
* for xs_type, pytype in list(_SCHEMA_TYPE_DICT.items()): # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":987
+ /* "src/lxml/lxml.objectify.pyx":990
* if pytype is self:
* del _SCHEMA_TYPE_DICT[xs_type]
* if self.type_check is None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":988
+ /* "src/lxml/lxml.objectify.pyx":991
* del _SCHEMA_TYPE_DICT[xs_type]
* if self.type_check is None:
* return # <<<<<<<<<<<<<<
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":987
+ /* "src/lxml/lxml.objectify.pyx":990
* if pytype is self:
* del _SCHEMA_TYPE_DICT[xs_type]
* if self.type_check is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":989
+ /* "src/lxml/lxml.objectify.pyx":992
* if self.type_check is None:
* return
* try: # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_12);
/*try:*/ {
- /* "src/lxml/lxml.objectify.pyx":990
+ /* "src/lxml/lxml.objectify.pyx":993
* return
* try:
* _TYPE_CHECKS.remove( (self.type_check, self) ) # <<<<<<<<<<<<<<
* except ValueError:
* pass
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify__TYPE_CHECKS, __pyx_n_s_remove); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify__TYPE_CHECKS, __pyx_n_s_remove); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
+ __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_INCREF(__pyx_v_self->type_check);
__Pyx_GIVEREF(__pyx_v_self->type_check);
}
}
if (!__pyx_t_6) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_GIVEREF(__pyx_t_7);
PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_7);
__pyx_t_7 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L10_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":989
+ /* "src/lxml/lxml.objectify.pyx":992
* if self.type_check is None:
* return
* try: # <<<<<<<<<<<<<<
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":991
+ /* "src/lxml/lxml.objectify.pyx":994
* try:
* _TYPE_CHECKS.remove( (self.type_check, self) )
* except ValueError: # <<<<<<<<<<<<<<
goto __pyx_L12_except_error;
__pyx_L12_except_error:;
- /* "src/lxml/lxml.objectify.pyx":989
+ /* "src/lxml/lxml.objectify.pyx":992
* if self.type_check is None:
* return
* try: # <<<<<<<<<<<<<<
__pyx_L17_try_end:;
}
- /* "src/lxml/lxml.objectify.pyx":980
+ /* "src/lxml/lxml.objectify.pyx":983
* _SCHEMA_TYPE_DICT[xs_type] = self
*
* def unregister(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":999
+/* "src/lxml/lxml.objectify.pyx":1002
* Note that this must be set before registering the type!
* """
* def __get__(self): # <<<<<<<<<<<<<<
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__get__", 0);
- /* "src/lxml/lxml.objectify.pyx":1000
+ /* "src/lxml/lxml.objectify.pyx":1003
* """
* def __get__(self):
* return self._schema_types # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_self->_schema_types;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":999
+ /* "src/lxml/lxml.objectify.pyx":1002
* Note that this must be set before registering the type!
* """
* def __get__(self): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1001
+/* "src/lxml/lxml.objectify.pyx":1004
* def __get__(self):
* return self._schema_types
* def __set__(self, types): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__set__", 0);
- /* "src/lxml/lxml.objectify.pyx":1002
+ /* "src/lxml/lxml.objectify.pyx":1005
* return self._schema_types
* def __set__(self, types):
* self._schema_types = list(map(unicode, types)) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&PyUnicode_Type)));
__Pyx_GIVEREF(((PyObject *)(&PyUnicode_Type)));
__Pyx_INCREF(__pyx_v_types);
__Pyx_GIVEREF(__pyx_v_types);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_types);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GIVEREF(__pyx_t_1);
__pyx_v_self->_schema_types = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1001
+ /* "src/lxml/lxml.objectify.pyx":1004
* def __get__(self):
* return self._schema_types
* def __set__(self, types): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":912
+/* "src/lxml/lxml.objectify.pyx":915
* matching type will be used.
* """
* cdef readonly object name # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":913
+/* "src/lxml/lxml.objectify.pyx":916
* """
* cdef readonly object name
* cdef readonly object type_check # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":914
+/* "src/lxml/lxml.objectify.pyx":917
* cdef readonly object name
* cdef readonly object type_check
* cdef readonly object stringify # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1009
+/* "src/lxml/lxml.objectify.pyx":1012
* cdef list _TYPE_CHECKS = []
*
* def __lower_bool(b): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__lower_bool", 0);
- /* "src/lxml/lxml.objectify.pyx":1010
+ /* "src/lxml/lxml.objectify.pyx":1013
*
* def __lower_bool(b):
* return u"true" if b else u"false" # <<<<<<<<<<<<<<
* cdef _pytypename(obj):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_b); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_b); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_n_u_true);
__pyx_t_1 = __pyx_n_u_true;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1009
+ /* "src/lxml/lxml.objectify.pyx":1012
* cdef list _TYPE_CHECKS = []
*
* def __lower_bool(b): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1012
+/* "src/lxml/lxml.objectify.pyx":1015
* return u"true" if b else u"false"
*
* cdef _pytypename(obj): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_pytypename", 0);
- /* "src/lxml/lxml.objectify.pyx":1013
+ /* "src/lxml/lxml.objectify.pyx":1016
*
* cdef _pytypename(obj):
* return u"str" if python._isString(obj) else _typename(obj) # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_n_u_str);
__pyx_t_1 = __pyx_n_u_str;
} else {
- __pyx_t_2 = __pyx_f_4lxml_9objectify__typename(__pyx_v_obj); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_9objectify__typename(__pyx_v_obj); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
__pyx_t_2 = 0;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1012
+ /* "src/lxml/lxml.objectify.pyx":1015
* return u"true" if b else u"false"
*
* cdef _pytypename(obj): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1015
+/* "src/lxml/lxml.objectify.pyx":1018
* return u"str" if python._isString(obj) else _typename(obj)
*
* def pytypename(obj): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("pytypename", 0);
- /* "src/lxml/lxml.objectify.pyx":1020
+ /* "src/lxml/lxml.objectify.pyx":1023
* Find the name of the corresponding PyType for a Python object.
* """
* return _pytypename(obj) # <<<<<<<<<<<<<<
* cdef _registerPyTypes():
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_9objectify__pytypename(__pyx_v_obj); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify__pytypename(__pyx_v_obj); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1015
+ /* "src/lxml/lxml.objectify.pyx":1018
* return u"str" if python._isString(obj) else _typename(obj)
*
* def pytypename(obj): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1022
+/* "src/lxml/lxml.objectify.pyx":1025
* return _pytypename(obj)
*
* cdef _registerPyTypes(): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_registerPyTypes", 0);
- /* "src/lxml/lxml.objectify.pyx":1023
+ /* "src/lxml/lxml.objectify.pyx":1026
*
* cdef _registerPyTypes():
* pytype = PyType(u'int', int, IntElement) # <<<<<<<<<<<<<<
* pytype.xmlSchemaTypes = (u"integer", u"int", u"short", u"byte", u"unsignedShort",
* u"unsignedByte", u"nonPositiveInteger",
*/
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_u_int);
__Pyx_GIVEREF(__pyx_n_u_int);
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_IntElement));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_4lxml_9objectify_IntElement));
PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_IntElement));
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_pytype = ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1024
+ /* "src/lxml/lxml.objectify.pyx":1027
* cdef _registerPyTypes():
* pytype = PyType(u'int', int, IntElement)
* pytype.xmlSchemaTypes = (u"integer", u"int", u"short", u"byte", u"unsignedShort", # <<<<<<<<<<<<<<
* u"unsignedByte", u"nonPositiveInteger",
* u"negativeInteger", u"long", u"nonNegativeInteger",
*/
- if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_xmlSchemaTypes, __pyx_tuple__5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_xmlSchemaTypes, __pyx_tuple__5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1028
+ /* "src/lxml/lxml.objectify.pyx":1031
* u"negativeInteger", u"long", u"nonNegativeInteger",
* u"unsignedLong", u"unsignedInt", u"positiveInteger",)
* pytype.register() # <<<<<<<<<<<<<<
*
* # 'long' type just for backwards compatibility
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1028; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
}
}
if (__pyx_t_3) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1028; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1028; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1031
+ /* "src/lxml/lxml.objectify.pyx":1034
*
* # 'long' type just for backwards compatibility
* pytype = PyType(u'long', None, IntElement) # <<<<<<<<<<<<<<
* pytype.register()
*
*/
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_u_long);
__Pyx_GIVEREF(__pyx_n_u_long);
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_IntElement));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_4lxml_9objectify_IntElement));
PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_IntElement));
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1032
+ /* "src/lxml/lxml.objectify.pyx":1035
* # 'long' type just for backwards compatibility
* pytype = PyType(u'long', None, IntElement)
* pytype.register() # <<<<<<<<<<<<<<
*
- * pytype = PyType(u'float', float, FloatElement)
+ * pytype = PyType(u'float', float, FloatElement, repr)
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
}
}
if (__pyx_t_3) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1034
+ /* "src/lxml/lxml.objectify.pyx":1037
* pytype.register()
*
- * pytype = PyType(u'float', float, FloatElement) # <<<<<<<<<<<<<<
+ * pytype = PyType(u'float', float, FloatElement, repr) # <<<<<<<<<<<<<<
* pytype.xmlSchemaTypes = (u"double", u"float")
* pytype.register()
*/
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetBuiltinName(__pyx_n_s_repr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_u_float);
__Pyx_GIVEREF(__pyx_n_u_float);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_float);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_float);
__Pyx_INCREF(((PyObject *)(&PyFloat_Type)));
__Pyx_GIVEREF(((PyObject *)(&PyFloat_Type)));
- PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)(&PyFloat_Type)));
+ PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)(&PyFloat_Type)));
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_FloatElement));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_4lxml_9objectify_FloatElement));
- PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_FloatElement));
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_2));
- __pyx_t_2 = 0;
+ PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_FloatElement));
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1);
+ __pyx_t_1 = 0;
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_1));
+ __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1035
+ /* "src/lxml/lxml.objectify.pyx":1038
*
- * pytype = PyType(u'float', float, FloatElement)
+ * pytype = PyType(u'float', float, FloatElement, repr)
* pytype.xmlSchemaTypes = (u"double", u"float") # <<<<<<<<<<<<<<
* pytype.register()
*
*/
- if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_xmlSchemaTypes, __pyx_tuple__6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_xmlSchemaTypes, __pyx_tuple__6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1036
- * pytype = PyType(u'float', float, FloatElement)
+ /* "src/lxml/lxml.objectify.pyx":1039
+ * pytype = PyType(u'float', float, FloatElement, repr)
* pytype.xmlSchemaTypes = (u"double", u"float")
* pytype.register() # <<<<<<<<<<<<<<
*
* pytype = PyType(u'bool', __checkBool, BoolElement, __lower_bool)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
}
}
if (__pyx_t_3) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __Pyx_GOTREF(__pyx_t_2);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1038
+ /* "src/lxml/lxml.objectify.pyx":1041
* pytype.register()
*
* pytype = PyType(u'bool', __checkBool, BoolElement, __lower_bool) # <<<<<<<<<<<<<<
* pytype.xmlSchemaTypes = (u"boolean",)
* pytype.register()
*/
- __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_checkBool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_lower_bool); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_checkBool); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_lower_bool); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_u_bool);
__Pyx_GIVEREF(__pyx_n_u_bool);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_bool);
- __Pyx_GIVEREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
+ __Pyx_GIVEREF(__pyx_t_1);
+ PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_BoolElement));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_4lxml_9objectify_BoolElement));
PyTuple_SET_ITEM(__pyx_t_3, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_BoolElement));
- __Pyx_GIVEREF(__pyx_t_1);
- PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_1);
- __pyx_t_2 = 0;
+ __Pyx_GIVEREF(__pyx_t_2);
+ PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_2);
__pyx_t_1 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = 0;
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_1));
- __pyx_t_1 = 0;
+ __Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_2));
+ __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1039
+ /* "src/lxml/lxml.objectify.pyx":1042
*
* pytype = PyType(u'bool', __checkBool, BoolElement, __lower_bool)
* pytype.xmlSchemaTypes = (u"boolean",) # <<<<<<<<<<<<<<
* pytype.register()
*
*/
- if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_xmlSchemaTypes, __pyx_tuple__7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_xmlSchemaTypes, __pyx_tuple__7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1040
+ /* "src/lxml/lxml.objectify.pyx":1043
* pytype = PyType(u'bool', __checkBool, BoolElement, __lower_bool)
* pytype.xmlSchemaTypes = (u"boolean",)
* pytype.register() # <<<<<<<<<<<<<<
*
* pytype = PyType(u'str', None, StringElement)
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = NULL;
+ __pyx_t_1 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
- if (__pyx_t_2) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (__pyx_t_1) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1042
+ /* "src/lxml/lxml.objectify.pyx":1045
* pytype.register()
*
* pytype = PyType(u'str', None, StringElement) # <<<<<<<<<<<<<<
* pytype.xmlSchemaTypes = (u"string", u"normalizedString", u"token", u"language",
* u"Name", u"NCName", u"ID", u"IDREF", u"ENTITY",
*/
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_u_str);
__Pyx_GIVEREF(__pyx_n_u_str);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_str);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_str);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
- PyTuple_SET_ITEM(__pyx_t_1, 1, Py_None);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_StringElement));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_4lxml_9objectify_StringElement));
- PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_StringElement));
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_StringElement));
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_3));
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1043
+ /* "src/lxml/lxml.objectify.pyx":1046
*
* pytype = PyType(u'str', None, StringElement)
* pytype.xmlSchemaTypes = (u"string", u"normalizedString", u"token", u"language", # <<<<<<<<<<<<<<
* u"Name", u"NCName", u"ID", u"IDREF", u"ENTITY",
* u"NMTOKEN", )
*/
- if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_xmlSchemaTypes, __pyx_tuple__8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_xmlSchemaTypes, __pyx_tuple__8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1046
+ /* "src/lxml/lxml.objectify.pyx":1049
* u"Name", u"NCName", u"ID", u"IDREF", u"ENTITY",
* u"NMTOKEN", )
* pytype.register() # <<<<<<<<<<<<<<
*
* # since lxml 2.0
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_2);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
}
}
- if (__pyx_t_2) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (__pyx_t_1) {
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1049
+ /* "src/lxml/lxml.objectify.pyx":1052
*
* # since lxml 2.0
* pytype = PyType(u'NoneType', None, NoneElement) # <<<<<<<<<<<<<<
* pytype.register()
*
*/
- __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_u_NoneType);
__Pyx_GIVEREF(__pyx_n_u_NoneType);
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_NoneElement));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_4lxml_9objectify_NoneElement));
PyTuple_SET_ITEM(__pyx_t_3, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_NoneElement));
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_1));
- __pyx_t_1 = 0;
+ __Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_2));
+ __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1050
+ /* "src/lxml/lxml.objectify.pyx":1053
* # since lxml 2.0
* pytype = PyType(u'NoneType', None, NoneElement)
* pytype.register() # <<<<<<<<<<<<<<
*
* # backwards compatibility
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = NULL;
+ __pyx_t_1 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
- if (likely(__pyx_t_2)) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
+ if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
- __Pyx_INCREF(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
- if (__pyx_t_2) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (__pyx_t_1) {
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __Pyx_GOTREF(__pyx_t_1);
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1053
+ /* "src/lxml/lxml.objectify.pyx":1056
*
* # backwards compatibility
* pytype = PyType(u'none', None, NoneElement) # <<<<<<<<<<<<<<
* pytype.register()
*
*/
- __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1056; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_u_none);
__Pyx_GIVEREF(__pyx_n_u_none);
- PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_none);
+ PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_none);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
- PyTuple_SET_ITEM(__pyx_t_1, 1, Py_None);
+ PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_NoneElement));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_4lxml_9objectify_NoneElement));
- PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_NoneElement));
- __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_NoneElement));
+ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1056; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_3));
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1054
+ /* "src/lxml/lxml.objectify.pyx":1057
* # backwards compatibility
* pytype = PyType(u'none', None, NoneElement)
* pytype.register() # <<<<<<<<<<<<<<
*
* # non-registered PyType for inner tree elements
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = NULL;
- if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
- __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
- if (likely(__pyx_t_2)) {
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
- __Pyx_INCREF(__pyx_t_2);
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pytype), __pyx_n_s_register); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_1 = NULL;
+ if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
+ __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
+ if (likely(__pyx_t_1)) {
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+ __Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
- __Pyx_DECREF_SET(__pyx_t_1, function);
+ __Pyx_DECREF_SET(__pyx_t_2, function);
}
}
- if (__pyx_t_2) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ if (__pyx_t_1) {
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1022
+ /* "src/lxml/lxml.objectify.pyx":1025
* return _pytypename(obj)
*
* cdef _registerPyTypes(): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1061
+/* "src/lxml/lxml.objectify.pyx":1064
* _registerPyTypes()
*
* def getRegisteredTypes(): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("getRegisteredTypes", 0);
- /* "src/lxml/lxml.objectify.pyx":1076
+ /* "src/lxml/lxml.objectify.pyx":1079
* end of the type list.
* """
* cdef list types = [] # <<<<<<<<<<<<<<
* cdef set known = set()
* for check, pytype in _TYPE_CHECKS:
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_types = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1077
+ /* "src/lxml/lxml.objectify.pyx":1080
* """
* cdef list types = []
* cdef set known = set() # <<<<<<<<<<<<<<
* for check, pytype in _TYPE_CHECKS:
* name = pytype.name
*/
- __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_known = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1078
+ /* "src/lxml/lxml.objectify.pyx":1081
* cdef list types = []
* cdef set known = set()
* for check, pytype in _TYPE_CHECKS: # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__TYPE_CHECKS == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_t_1 = __pyx_v_4lxml_9objectify__TYPE_CHECKS; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
for (;;) {
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
#endif
if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_5);
#else
- __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
__Pyx_GOTREF(__pyx_t_4);
index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_5);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_7 = NULL;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
goto __pyx_L6_unpacking_done;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_check, __pyx_t_4);
__Pyx_XDECREF_SET(__pyx_v_pytype, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1079
+ /* "src/lxml/lxml.objectify.pyx":1082
* cdef set known = set()
* for check, pytype in _TYPE_CHECKS:
* name = pytype.name # <<<<<<<<<<<<<<
* if name not in known:
* known.add(name)
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pytype, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pytype, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1080
+ /* "src/lxml/lxml.objectify.pyx":1083
* for check, pytype in _TYPE_CHECKS:
* name = pytype.name
* if name not in known: # <<<<<<<<<<<<<<
* known.add(name)
* types.append(pytype)
*/
- __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_v_known, Py_NE)); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1080; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_v_known, Py_NE)); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_9 = (__pyx_t_8 != 0);
if (__pyx_t_9) {
- /* "src/lxml/lxml.objectify.pyx":1081
+ /* "src/lxml/lxml.objectify.pyx":1084
* name = pytype.name
* if name not in known:
* known.add(name) # <<<<<<<<<<<<<<
* types.append(pytype)
* for pytype in _PYTYPE_DICT.values():
*/
- __pyx_t_10 = PySet_Add(__pyx_v_known, __pyx_v_name); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = PySet_Add(__pyx_v_known, __pyx_v_name); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1082
+ /* "src/lxml/lxml.objectify.pyx":1085
* if name not in known:
* known.add(name)
* types.append(pytype) # <<<<<<<<<<<<<<
* for pytype in _PYTYPE_DICT.values():
* name = pytype.name
*/
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_types, __pyx_v_pytype); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1082; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_types, __pyx_v_pytype); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1080
+ /* "src/lxml/lxml.objectify.pyx":1083
* for check, pytype in _TYPE_CHECKS:
* name = pytype.name
* if name not in known: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1078
+ /* "src/lxml/lxml.objectify.pyx":1081
* cdef list types = []
* cdef set known = set()
* for check, pytype in _TYPE_CHECKS: # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1083
+ /* "src/lxml/lxml.objectify.pyx":1086
* known.add(name)
* types.append(pytype)
* for pytype in _PYTYPE_DICT.values(): # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "values");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_4lxml_9objectify__PYTYPE_DICT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyDict_Values(__pyx_v_4lxml_9objectify__PYTYPE_DICT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = 0;
__pyx_t_11 = NULL;
} else {
- __pyx_t_2 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
__Pyx_XDECREF_SET(__pyx_v_pytype, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1084
+ /* "src/lxml/lxml.objectify.pyx":1087
* types.append(pytype)
* for pytype in _PYTYPE_DICT.values():
* name = pytype.name # <<<<<<<<<<<<<<
* if name not in known:
* known.add(name)
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pytype, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pytype, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1085
+ /* "src/lxml/lxml.objectify.pyx":1088
* for pytype in _PYTYPE_DICT.values():
* name = pytype.name
* if name not in known: # <<<<<<<<<<<<<<
* known.add(name)
* types.append(pytype)
*/
- __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_v_known, Py_NE)); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_v_known, Py_NE)); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_8 = (__pyx_t_9 != 0);
if (__pyx_t_8) {
- /* "src/lxml/lxml.objectify.pyx":1086
+ /* "src/lxml/lxml.objectify.pyx":1089
* name = pytype.name
* if name not in known:
* known.add(name) # <<<<<<<<<<<<<<
* types.append(pytype)
* return types
*/
- __pyx_t_10 = PySet_Add(__pyx_v_known, __pyx_v_name); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = PySet_Add(__pyx_v_known, __pyx_v_name); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1087
+ /* "src/lxml/lxml.objectify.pyx":1090
* if name not in known:
* known.add(name)
* types.append(pytype) # <<<<<<<<<<<<<<
* return types
*
*/
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_types, __pyx_v_pytype); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_types, __pyx_v_pytype); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1085
+ /* "src/lxml/lxml.objectify.pyx":1088
* for pytype in _PYTYPE_DICT.values():
* name = pytype.name
* if name not in known: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1083
+ /* "src/lxml/lxml.objectify.pyx":1086
* known.add(name)
* types.append(pytype)
* for pytype in _PYTYPE_DICT.values(): # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1088
+ /* "src/lxml/lxml.objectify.pyx":1091
* known.add(name)
* types.append(pytype)
* return types # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_types;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1061
+ /* "src/lxml/lxml.objectify.pyx":1064
* _registerPyTypes()
*
* def getRegisteredTypes(): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1090
+/* "src/lxml/lxml.objectify.pyx":1093
* return types
*
* cdef PyType _guessPyType(value, PyType defaulttype): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_guessPyType", 0);
- /* "src/lxml/lxml.objectify.pyx":1091
+ /* "src/lxml/lxml.objectify.pyx":1094
*
* cdef PyType _guessPyType(value, PyType defaulttype):
* if value is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1092
+ /* "src/lxml/lxml.objectify.pyx":1095
* cdef PyType _guessPyType(value, PyType defaulttype):
* if value is None:
* return None # <<<<<<<<<<<<<<
__pyx_r = ((struct __pyx_obj_4lxml_9objectify_PyType *)Py_None);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1091
+ /* "src/lxml/lxml.objectify.pyx":1094
*
* cdef PyType _guessPyType(value, PyType defaulttype):
* if value is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1093
+ /* "src/lxml/lxml.objectify.pyx":1096
* if value is None:
* return None
* for type_check, tested_pytype in _TYPE_CHECKS: # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__TYPE_CHECKS == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_t_3 = __pyx_v_4lxml_9objectify__TYPE_CHECKS; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L6_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L7_unpacking_done;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L7_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_type_check, __pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_tested_pytype, __pyx_t_7);
__pyx_t_7 = 0;
- /* "src/lxml/lxml.objectify.pyx":1094
+ /* "src/lxml/lxml.objectify.pyx":1097
* return None
* for type_check, tested_pytype in _TYPE_CHECKS:
* try: # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_12);
/*try:*/ {
- /* "src/lxml/lxml.objectify.pyx":1095
+ /* "src/lxml/lxml.objectify.pyx":1098
* for type_check, tested_pytype in _TYPE_CHECKS:
* try:
* type_check(value) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_6) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
__Pyx_GOTREF(__pyx_t_5);
} else {
- __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_v_value);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1096
+ /* "src/lxml/lxml.objectify.pyx":1099
* try:
* type_check(value)
* return <PyType>tested_pytype # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L12_try_return;
- /* "src/lxml/lxml.objectify.pyx":1094
+ /* "src/lxml/lxml.objectify.pyx":1097
* return None
* for type_check, tested_pytype in _TYPE_CHECKS:
* try: # <<<<<<<<<<<<<<
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1097
+ /* "src/lxml/lxml.objectify.pyx":1100
* type_check(value)
* return <PyType>tested_pytype
* except IGNORABLE_ERRORS: # <<<<<<<<<<<<<<
goto __pyx_L10_except_error;
__pyx_L10_except_error:;
- /* "src/lxml/lxml.objectify.pyx":1094
+ /* "src/lxml/lxml.objectify.pyx":1097
* return None
* for type_check, tested_pytype in _TYPE_CHECKS:
* try: # <<<<<<<<<<<<<<
__Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
}
- /* "src/lxml/lxml.objectify.pyx":1093
+ /* "src/lxml/lxml.objectify.pyx":1096
* if value is None:
* return None
* for type_check, tested_pytype in _TYPE_CHECKS: # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1100
+ /* "src/lxml/lxml.objectify.pyx":1103
* # could not be parsed as the specified type => ignore
* pass
* return defaulttype # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_defaulttype;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1090
+ /* "src/lxml/lxml.objectify.pyx":1093
* return types
*
* cdef PyType _guessPyType(value, PyType defaulttype): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1102
+/* "src/lxml/lxml.objectify.pyx":1105
* return defaulttype
*
* cdef object _guessElementClass(tree.xmlNode* c_node): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_guessElementClass", 0);
- /* "src/lxml/lxml.objectify.pyx":1103
+ /* "src/lxml/lxml.objectify.pyx":1106
*
* cdef object _guessElementClass(tree.xmlNode* c_node):
* value = textOf(c_node) # <<<<<<<<<<<<<<
* if value is None:
* return None
*/
- __pyx_t_1 = textOf(__pyx_v_c_node); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = textOf(__pyx_v_c_node); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_value = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1104
+ /* "src/lxml/lxml.objectify.pyx":1107
* cdef object _guessElementClass(tree.xmlNode* c_node):
* value = textOf(c_node)
* if value is None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1105
+ /* "src/lxml/lxml.objectify.pyx":1108
* value = textOf(c_node)
* if value is None:
* return None # <<<<<<<<<<<<<<
__pyx_r = Py_None;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1104
+ /* "src/lxml/lxml.objectify.pyx":1107
* cdef object _guessElementClass(tree.xmlNode* c_node):
* value = textOf(c_node)
* if value is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1106
+ /* "src/lxml/lxml.objectify.pyx":1109
* if value is None:
* return None
* if value == '': # <<<<<<<<<<<<<<
* return StringElement
*
*/
- __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_value, __pyx_kp_s__2, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_value, __pyx_kp_s__2, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1107
+ /* "src/lxml/lxml.objectify.pyx":1110
* return None
* if value == '':
* return StringElement # <<<<<<<<<<<<<<
__pyx_r = ((PyObject *)__pyx_ptype_4lxml_9objectify_StringElement);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1106
+ /* "src/lxml/lxml.objectify.pyx":1109
* if value is None:
* return None
* if value == '': # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1109
+ /* "src/lxml/lxml.objectify.pyx":1112
* return StringElement
*
* for type_check, pytype in _TYPE_CHECKS: # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__TYPE_CHECKS == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_t_1 = __pyx_v_4lxml_9objectify__TYPE_CHECKS; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_7);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L7_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L8_unpacking_done;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L8_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_type_check, __pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_pytype, __pyx_t_7);
__pyx_t_7 = 0;
- /* "src/lxml/lxml.objectify.pyx":1110
+ /* "src/lxml/lxml.objectify.pyx":1113
*
* for type_check, pytype in _TYPE_CHECKS:
* try: # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_12);
/*try:*/ {
- /* "src/lxml/lxml.objectify.pyx":1111
+ /* "src/lxml/lxml.objectify.pyx":1114
* for type_check, pytype in _TYPE_CHECKS:
* try:
* type_check(value) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_6) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
__Pyx_GOTREF(__pyx_t_5);
} else {
- __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_v_value);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1112
+ /* "src/lxml/lxml.objectify.pyx":1115
* try:
* type_check(value)
* return (<PyType>pytype)._type # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
goto __pyx_L13_try_return;
- /* "src/lxml/lxml.objectify.pyx":1110
+ /* "src/lxml/lxml.objectify.pyx":1113
*
* for type_check, pytype in _TYPE_CHECKS:
* try: # <<<<<<<<<<<<<<
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1113
+ /* "src/lxml/lxml.objectify.pyx":1116
* type_check(value)
* return (<PyType>pytype)._type
* except IGNORABLE_ERRORS: # <<<<<<<<<<<<<<
goto __pyx_L11_except_error;
__pyx_L11_except_error:;
- /* "src/lxml/lxml.objectify.pyx":1110
+ /* "src/lxml/lxml.objectify.pyx":1113
*
* for type_check, pytype in _TYPE_CHECKS:
* try: # <<<<<<<<<<<<<<
__Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
}
- /* "src/lxml/lxml.objectify.pyx":1109
+ /* "src/lxml/lxml.objectify.pyx":1112
* return StringElement
*
* for type_check, pytype in _TYPE_CHECKS: # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1115
+ /* "src/lxml/lxml.objectify.pyx":1118
* except IGNORABLE_ERRORS:
* pass
* return None # <<<<<<<<<<<<<<
__pyx_r = Py_None;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1102
+ /* "src/lxml/lxml.objectify.pyx":1105
* return defaulttype
*
* cdef object _guessElementClass(tree.xmlNode* c_node): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1128
+/* "src/lxml/lxml.objectify.pyx":1131
* cdef bint _annotate
*
* def __call__(self, *children, **attrib): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call__", 0);
- /* "src/lxml/lxml.objectify.pyx":1135
+ /* "src/lxml/lxml.objectify.pyx":1138
* cdef bint has_children
* cdef bint has_string_value
* if self._element_factory is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1136
+ /* "src/lxml/lxml.objectify.pyx":1139
* cdef bint has_string_value
* if self._element_factory is None:
* element = _makeElement(self._tag, None, attrib, self._nsmap) # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_t_3);
__pyx_t_4 = __pyx_v_self->_nsmap;
__Pyx_INCREF(__pyx_t_4);
- __pyx_t_5 = ((PyObject *)__pyx_f_4lxml_9objectify__makeElement(__pyx_t_3, Py_None, __pyx_v_attrib, __pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = ((PyObject *)__pyx_f_4lxml_9objectify__makeElement(__pyx_t_3, Py_None, __pyx_v_attrib, __pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_element = ((struct LxmlElement *)__pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1135
+ /* "src/lxml/lxml.objectify.pyx":1138
* cdef bint has_children
* cdef bint has_string_value
* if self._element_factory is None: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/lxml.objectify.pyx":1138
+ /* "src/lxml/lxml.objectify.pyx":1141
* element = _makeElement(self._tag, None, attrib, self._nsmap)
* else:
* element = self._element_factory(self._tag, attrib, self._nsmap) # <<<<<<<<<<<<<<
__pyx_t_6 = 1;
}
}
- __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
__Pyx_INCREF(__pyx_v_self->_nsmap);
__Pyx_GIVEREF(__pyx_v_self->_nsmap);
PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_self->_nsmap);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_4lxml_8includes_11etreepublic__Element))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_4lxml_8includes_11etreepublic__Element))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_element = ((struct LxmlElement *)__pyx_t_5);
__pyx_t_5 = 0;
}
__pyx_L3:;
- /* "src/lxml/lxml.objectify.pyx":1140
+ /* "src/lxml/lxml.objectify.pyx":1143
* element = self._element_factory(self._tag, attrib, self._nsmap)
*
* pytype_name = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__pyx_v_pytype_name = Py_None;
- /* "src/lxml/lxml.objectify.pyx":1141
+ /* "src/lxml/lxml.objectify.pyx":1144
*
* pytype_name = None
* has_children = False # <<<<<<<<<<<<<<
*/
__pyx_v_has_children = 0;
- /* "src/lxml/lxml.objectify.pyx":1142
+ /* "src/lxml/lxml.objectify.pyx":1145
* pytype_name = None
* has_children = False
* has_string_value = False # <<<<<<<<<<<<<<
*/
__pyx_v_has_string_value = 0;
- /* "src/lxml/lxml.objectify.pyx":1143
+ /* "src/lxml/lxml.objectify.pyx":1146
* has_children = False
* has_string_value = False
* for child in children: # <<<<<<<<<<<<<<
for (;;) {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
#endif
__Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1144
+ /* "src/lxml/lxml.objectify.pyx":1147
* has_string_value = False
* for child in children:
* if child is None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1145
+ /* "src/lxml/lxml.objectify.pyx":1148
* for child in children:
* if child is None:
* if len(children) == 1: # <<<<<<<<<<<<<<
* cetree.setAttributeValue(
* element, XML_SCHEMA_INSTANCE_NIL_ATTR, u"true")
*/
- __pyx_t_8 = PyTuple_GET_SIZE(__pyx_v_children); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyTuple_GET_SIZE(__pyx_v_children); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = ((__pyx_t_8 == 1) != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1147
+ /* "src/lxml/lxml.objectify.pyx":1150
* if len(children) == 1:
* cetree.setAttributeValue(
* element, XML_SCHEMA_INSTANCE_NIL_ATTR, u"true") # <<<<<<<<<<<<<<
__pyx_t_4 = __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_NIL_ATTR;
__Pyx_INCREF(__pyx_t_4);
- /* "src/lxml/lxml.objectify.pyx":1146
+ /* "src/lxml/lxml.objectify.pyx":1149
* if child is None:
* if len(children) == 1:
* cetree.setAttributeValue( # <<<<<<<<<<<<<<
* element, XML_SCHEMA_INSTANCE_NIL_ATTR, u"true")
* elif python._isString(child):
*/
- __pyx_t_9 = setAttributeValue(__pyx_v_element, __pyx_t_4, __pyx_n_u_true); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = setAttributeValue(__pyx_v_element, __pyx_t_4, __pyx_n_u_true); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1145
+ /* "src/lxml/lxml.objectify.pyx":1148
* for child in children:
* if child is None:
* if len(children) == 1: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1144
+ /* "src/lxml/lxml.objectify.pyx":1147
* has_string_value = False
* for child in children:
* if child is None: # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/lxml.objectify.pyx":1148
+ /* "src/lxml/lxml.objectify.pyx":1151
* cetree.setAttributeValue(
* element, XML_SCHEMA_INSTANCE_NIL_ATTR, u"true")
* elif python._isString(child): # <<<<<<<<<<<<<<
__pyx_t_1 = (_isString(__pyx_v_child) != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1149
+ /* "src/lxml/lxml.objectify.pyx":1152
* element, XML_SCHEMA_INSTANCE_NIL_ATTR, u"true")
* elif python._isString(child):
* _add_text(element, child) # <<<<<<<<<<<<<<
* has_string_value = True
* elif isinstance(child, _Element):
*/
- __pyx_t_4 = __pyx_f_4lxml_9objectify__add_text(__pyx_v_element, __pyx_v_child); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_4lxml_9objectify__add_text(__pyx_v_element, __pyx_v_child); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1150
+ /* "src/lxml/lxml.objectify.pyx":1153
* elif python._isString(child):
* _add_text(element, child)
* has_string_value = True # <<<<<<<<<<<<<<
*/
__pyx_v_has_string_value = 1;
- /* "src/lxml/lxml.objectify.pyx":1148
+ /* "src/lxml/lxml.objectify.pyx":1151
* cetree.setAttributeValue(
* element, XML_SCHEMA_INSTANCE_NIL_ATTR, u"true")
* elif python._isString(child): # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/lxml.objectify.pyx":1151
+ /* "src/lxml/lxml.objectify.pyx":1154
* _add_text(element, child)
* has_string_value = True
* elif isinstance(child, _Element): # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1152
+ /* "src/lxml/lxml.objectify.pyx":1155
* has_string_value = True
* elif isinstance(child, _Element):
* cetree.appendChildToElement(element, <_Element>child) # <<<<<<<<<<<<<<
* has_children = True
* elif isinstance(child, _ObjectifyElementMakerCaller):
*/
- __pyx_t_9 = appendChildToElement(__pyx_v_element, ((struct LxmlElement *)__pyx_v_child)); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = appendChildToElement(__pyx_v_element, ((struct LxmlElement *)__pyx_v_child)); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1153
+ /* "src/lxml/lxml.objectify.pyx":1156
* elif isinstance(child, _Element):
* cetree.appendChildToElement(element, <_Element>child)
* has_children = True # <<<<<<<<<<<<<<
*/
__pyx_v_has_children = 1;
- /* "src/lxml/lxml.objectify.pyx":1151
+ /* "src/lxml/lxml.objectify.pyx":1154
* _add_text(element, child)
* has_string_value = True
* elif isinstance(child, _Element): # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/lxml.objectify.pyx":1154
+ /* "src/lxml/lxml.objectify.pyx":1157
* cetree.appendChildToElement(element, <_Element>child)
* has_children = True
* elif isinstance(child, _ObjectifyElementMakerCaller): # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1155
+ /* "src/lxml/lxml.objectify.pyx":1158
* has_children = True
* elif isinstance(child, _ObjectifyElementMakerCaller):
* elementMaker = <_ObjectifyElementMakerCaller>child # <<<<<<<<<<<<<<
__Pyx_XDECREF_SET(__pyx_v_elementMaker, ((struct __pyx_obj_4lxml_9objectify__ObjectifyElementMakerCaller *)__pyx_t_4));
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1156
+ /* "src/lxml/lxml.objectify.pyx":1159
* elif isinstance(child, _ObjectifyElementMakerCaller):
* elementMaker = <_ObjectifyElementMakerCaller>child
* if elementMaker._element_factory is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1157
+ /* "src/lxml/lxml.objectify.pyx":1160
* elementMaker = <_ObjectifyElementMakerCaller>child
* if elementMaker._element_factory is None:
* cetree.makeSubElement(element, elementMaker._tag, # <<<<<<<<<<<<<<
__pyx_t_4 = __pyx_v_elementMaker->_tag;
__Pyx_INCREF(__pyx_t_4);
- /* "src/lxml/lxml.objectify.pyx":1158
+ /* "src/lxml/lxml.objectify.pyx":1161
* if elementMaker._element_factory is None:
* cetree.makeSubElement(element, elementMaker._tag,
* None, None, None, None) # <<<<<<<<<<<<<<
* else:
* childElement = elementMaker._element_factory(
*/
- __pyx_t_7 = ((PyObject *)makeSubElement(__pyx_v_element, __pyx_t_4, Py_None, Py_None, Py_None, Py_None)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = ((PyObject *)makeSubElement(__pyx_v_element, __pyx_t_4, Py_None, Py_None, Py_None, Py_None)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
- /* "src/lxml/lxml.objectify.pyx":1156
+ /* "src/lxml/lxml.objectify.pyx":1159
* elif isinstance(child, _ObjectifyElementMakerCaller):
* elementMaker = <_ObjectifyElementMakerCaller>child
* if elementMaker._element_factory is None: # <<<<<<<<<<<<<<
goto __pyx_L8;
}
- /* "src/lxml/lxml.objectify.pyx":1160
+ /* "src/lxml/lxml.objectify.pyx":1163
* None, None, None, None)
* else:
* childElement = elementMaker._element_factory( # <<<<<<<<<<<<<<
*/
/*else*/ {
- /* "src/lxml/lxml.objectify.pyx":1161
+ /* "src/lxml/lxml.objectify.pyx":1164
* else:
* childElement = elementMaker._element_factory(
* elementMaker._tag) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_3) {
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_elementMaker->_tag); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_elementMaker->_tag); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
} else {
- __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_10);
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __pyx_t_3 = NULL;
__Pyx_INCREF(__pyx_v_elementMaker->_tag);
__Pyx_GIVEREF(__pyx_v_elementMaker->_tag);
PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_v_elementMaker->_tag);
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1160
+ /* "src/lxml/lxml.objectify.pyx":1163
* None, None, None, None)
* else:
* childElement = elementMaker._element_factory( # <<<<<<<<<<<<<<
* elementMaker._tag)
* cetree.appendChildToElement(element, childElement)
*/
- if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_4lxml_8includes_11etreepublic__Element))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_4lxml_8includes_11etreepublic__Element))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_XDECREF_SET(__pyx_v_childElement, ((struct LxmlElement *)__pyx_t_7));
__pyx_t_7 = 0;
- /* "src/lxml/lxml.objectify.pyx":1162
+ /* "src/lxml/lxml.objectify.pyx":1165
* childElement = elementMaker._element_factory(
* elementMaker._tag)
* cetree.appendChildToElement(element, childElement) # <<<<<<<<<<<<<<
* has_children = True
* elif isinstance(child, dict):
*/
- __pyx_t_9 = appendChildToElement(__pyx_v_element, __pyx_v_childElement); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = appendChildToElement(__pyx_v_element, __pyx_v_childElement); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_L8:;
- /* "src/lxml/lxml.objectify.pyx":1163
+ /* "src/lxml/lxml.objectify.pyx":1166
* elementMaker._tag)
* cetree.appendChildToElement(element, childElement)
* has_children = True # <<<<<<<<<<<<<<
*/
__pyx_v_has_children = 1;
- /* "src/lxml/lxml.objectify.pyx":1154
+ /* "src/lxml/lxml.objectify.pyx":1157
* cetree.appendChildToElement(element, <_Element>child)
* has_children = True
* elif isinstance(child, _ObjectifyElementMakerCaller): # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/lxml.objectify.pyx":1164
+ /* "src/lxml/lxml.objectify.pyx":1167
* cetree.appendChildToElement(element, childElement)
* has_children = True
* elif isinstance(child, dict): # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1165
+ /* "src/lxml/lxml.objectify.pyx":1168
* has_children = True
* elif isinstance(child, dict):
* for name, value in child.items(): # <<<<<<<<<<<<<<
* # keyword arguments in attrib take precedence
* if name in attrib:
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_child, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_child, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_10 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
}
}
if (__pyx_t_10) {
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
} else {
- __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __pyx_t_7; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0;
__pyx_t_11 = NULL;
} else {
- __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
for (;;) {
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_7); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_7); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
#endif
} else {
if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_7); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_7); __pyx_t_8++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_10);
__Pyx_INCREF(__pyx_t_3);
#else
- __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_10);
- __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_12 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_13 = Py_TYPE(__pyx_t_12)->tp_iternext;
__Pyx_GOTREF(__pyx_t_10);
index = 1; __pyx_t_3 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_3)) goto __pyx_L11_unpacking_failed;
__Pyx_GOTREF(__pyx_t_3);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_13 = NULL;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
goto __pyx_L12_unpacking_done;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_13 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L12_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_10);
__Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1167
+ /* "src/lxml/lxml.objectify.pyx":1170
* for name, value in child.items():
* # keyword arguments in attrib take precedence
* if name in attrib: # <<<<<<<<<<<<<<
* continue
* pytype = _PYTYPE_DICT.get(_typename(value))
*/
- __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_attrib, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_v_name, __pyx_v_attrib, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1168
+ /* "src/lxml/lxml.objectify.pyx":1171
* # keyword arguments in attrib take precedence
* if name in attrib:
* continue # <<<<<<<<<<<<<<
*/
goto __pyx_L9_continue;
- /* "src/lxml/lxml.objectify.pyx":1167
+ /* "src/lxml/lxml.objectify.pyx":1170
* for name, value in child.items():
* # keyword arguments in attrib take precedence
* if name in attrib: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1169
+ /* "src/lxml/lxml.objectify.pyx":1172
* if name in attrib:
* continue
* pytype = _PYTYPE_DICT.get(_typename(value)) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_7 = __pyx_f_4lxml_9objectify__typename(__pyx_v_value); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __pyx_f_4lxml_9objectify__typename(__pyx_v_value); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
- __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_t_7, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_t_7, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF_SET(__pyx_v_pytype, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1170
+ /* "src/lxml/lxml.objectify.pyx":1173
* continue
* pytype = _PYTYPE_DICT.get(_typename(value))
* if pytype is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1171
+ /* "src/lxml/lxml.objectify.pyx":1174
* pytype = _PYTYPE_DICT.get(_typename(value))
* if pytype is not None:
* value = (<PyType>pytype).stringify(value) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_10) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
} else {
- __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL;
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_v_value);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1170
+ /* "src/lxml/lxml.objectify.pyx":1173
* continue
* pytype = _PYTYPE_DICT.get(_typename(value))
* if pytype is not None: # <<<<<<<<<<<<<<
goto __pyx_L14;
}
- /* "src/lxml/lxml.objectify.pyx":1172
+ /* "src/lxml/lxml.objectify.pyx":1175
* if pytype is not None:
* value = (<PyType>pytype).stringify(value)
* elif not python._isString(value): # <<<<<<<<<<<<<<
__pyx_t_1 = ((!(_isString(__pyx_v_value) != 0)) != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1173
+ /* "src/lxml/lxml.objectify.pyx":1176
* value = (<PyType>pytype).stringify(value)
* elif not python._isString(value):
* value = unicode(value) # <<<<<<<<<<<<<<
* cetree.setAttributeValue(element, name, value)
* else:
*/
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_value);
- __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_7);
__pyx_t_7 = 0;
- /* "src/lxml/lxml.objectify.pyx":1172
+ /* "src/lxml/lxml.objectify.pyx":1175
* if pytype is not None:
* value = (<PyType>pytype).stringify(value)
* elif not python._isString(value): # <<<<<<<<<<<<<<
}
__pyx_L14:;
- /* "src/lxml/lxml.objectify.pyx":1174
+ /* "src/lxml/lxml.objectify.pyx":1177
* elif not python._isString(value):
* value = unicode(value)
* cetree.setAttributeValue(element, name, value) # <<<<<<<<<<<<<<
* else:
* if pytype_name is not None:
*/
- __pyx_t_9 = setAttributeValue(__pyx_v_element, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = setAttributeValue(__pyx_v_element, __pyx_v_name, __pyx_v_value); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1165
+ /* "src/lxml/lxml.objectify.pyx":1168
* has_children = True
* elif isinstance(child, dict):
* for name, value in child.items(): # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1164
+ /* "src/lxml/lxml.objectify.pyx":1167
* cetree.appendChildToElement(element, childElement)
* has_children = True
* elif isinstance(child, dict): # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/lxml.objectify.pyx":1176
+ /* "src/lxml/lxml.objectify.pyx":1179
* cetree.setAttributeValue(element, name, value)
* else:
* if pytype_name is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1178
+ /* "src/lxml/lxml.objectify.pyx":1181
* if pytype_name is not None:
* # concatenation always makes the result a string
* has_string_value = True # <<<<<<<<<<<<<<
*/
__pyx_v_has_string_value = 1;
- /* "src/lxml/lxml.objectify.pyx":1176
+ /* "src/lxml/lxml.objectify.pyx":1179
* cetree.setAttributeValue(element, name, value)
* else:
* if pytype_name is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1179
+ /* "src/lxml/lxml.objectify.pyx":1182
* # concatenation always makes the result a string
* has_string_value = True
* pytype_name = _typename(child) # <<<<<<<<<<<<<<
* pytype = _PYTYPE_DICT.get(_typename(child))
* if pytype is not None:
*/
- __pyx_t_4 = __pyx_f_4lxml_9objectify__typename(__pyx_v_child); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_4lxml_9objectify__typename(__pyx_v_child); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_pytype_name, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1180
+ /* "src/lxml/lxml.objectify.pyx":1183
* has_string_value = True
* pytype_name = _typename(child)
* pytype = _PYTYPE_DICT.get(_typename(child)) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_4 = __pyx_f_4lxml_9objectify__typename(__pyx_v_child); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_4lxml_9objectify__typename(__pyx_v_child); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_7 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_t_4, Py_None); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_t_4, Py_None); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_pytype, __pyx_t_7);
__pyx_t_7 = 0;
- /* "src/lxml/lxml.objectify.pyx":1181
+ /* "src/lxml/lxml.objectify.pyx":1184
* pytype_name = _typename(child)
* pytype = _PYTYPE_DICT.get(_typename(child))
* if pytype is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1182
+ /* "src/lxml/lxml.objectify.pyx":1185
* pytype = _PYTYPE_DICT.get(_typename(child))
* if pytype is not None:
* _add_text(element, (<PyType>pytype).stringify(child)) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_3) {
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_child); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_child); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
} else {
- __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_12);
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_3); __pyx_t_3 = NULL;
__Pyx_INCREF(__pyx_v_child);
__Pyx_GIVEREF(__pyx_v_child);
PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_v_child);
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_12, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_12, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __pyx_f_4lxml_9objectify__add_text(__pyx_v_element, __pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __pyx_f_4lxml_9objectify__add_text(__pyx_v_element, __pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1181
+ /* "src/lxml/lxml.objectify.pyx":1184
* pytype_name = _typename(child)
* pytype = _PYTYPE_DICT.get(_typename(child))
* if pytype is not None: # <<<<<<<<<<<<<<
goto __pyx_L16;
}
- /* "src/lxml/lxml.objectify.pyx":1184
+ /* "src/lxml/lxml.objectify.pyx":1187
* _add_text(element, (<PyType>pytype).stringify(child))
* else:
* has_string_value = True # <<<<<<<<<<<<<<
/*else*/ {
__pyx_v_has_string_value = 1;
- /* "src/lxml/lxml.objectify.pyx":1185
+ /* "src/lxml/lxml.objectify.pyx":1188
* else:
* has_string_value = True
* child = unicode(child) # <<<<<<<<<<<<<<
* _add_text(element, child)
*
*/
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_child);
__Pyx_GIVEREF(__pyx_v_child);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_child);
- __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&PyUnicode_Type)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_child, __pyx_t_7);
__pyx_t_7 = 0;
- /* "src/lxml/lxml.objectify.pyx":1186
+ /* "src/lxml/lxml.objectify.pyx":1189
* has_string_value = True
* child = unicode(child)
* _add_text(element, child) # <<<<<<<<<<<<<<
*
* if self._annotate and not has_children:
*/
- __pyx_t_7 = __pyx_f_4lxml_9objectify__add_text(__pyx_v_element, __pyx_v_child); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __pyx_f_4lxml_9objectify__add_text(__pyx_v_element, __pyx_v_child); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
}
__pyx_L6:;
- /* "src/lxml/lxml.objectify.pyx":1143
+ /* "src/lxml/lxml.objectify.pyx":1146
* has_children = False
* has_string_value = False
* for child in children: # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1188
+ /* "src/lxml/lxml.objectify.pyx":1191
* _add_text(element, child)
*
* if self._annotate and not has_children: # <<<<<<<<<<<<<<
__pyx_L18_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1189
+ /* "src/lxml/lxml.objectify.pyx":1192
*
* if self._annotate and not has_children:
* if has_string_value: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_v_has_string_value != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1190
+ /* "src/lxml/lxml.objectify.pyx":1193
* if self._annotate and not has_children:
* if has_string_value:
* cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, u"str") # <<<<<<<<<<<<<<
* elif pytype_name is not None:
* cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, pytype_name)
*/
- __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_9 = setAttributeValue(__pyx_v_element, __pyx_t_5, __pyx_n_u_str); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = setAttributeValue(__pyx_v_element, __pyx_t_5, __pyx_n_u_str); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1189
+ /* "src/lxml/lxml.objectify.pyx":1192
*
* if self._annotate and not has_children:
* if has_string_value: # <<<<<<<<<<<<<<
goto __pyx_L20;
}
- /* "src/lxml/lxml.objectify.pyx":1191
+ /* "src/lxml/lxml.objectify.pyx":1194
* if has_string_value:
* cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, u"str")
* elif pytype_name is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1192
+ /* "src/lxml/lxml.objectify.pyx":1195
* cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, u"str")
* elif pytype_name is not None:
* cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, pytype_name) # <<<<<<<<<<<<<<
*
* return element
*/
- __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_9 = setAttributeValue(__pyx_v_element, __pyx_t_5, __pyx_v_pytype_name); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = setAttributeValue(__pyx_v_element, __pyx_t_5, __pyx_v_pytype_name); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1191
+ /* "src/lxml/lxml.objectify.pyx":1194
* if has_string_value:
* cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, u"str")
* elif pytype_name is not None: # <<<<<<<<<<<<<<
}
__pyx_L20:;
- /* "src/lxml/lxml.objectify.pyx":1188
+ /* "src/lxml/lxml.objectify.pyx":1191
* _add_text(element, child)
*
* if self._annotate and not has_children: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1194
+ /* "src/lxml/lxml.objectify.pyx":1197
* cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, pytype_name)
*
* return element # <<<<<<<<<<<<<<
__pyx_r = ((PyObject *)__pyx_v_element);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1128
+ /* "src/lxml/lxml.objectify.pyx":1131
* cdef bint _annotate
*
* def __call__(self, *children, **attrib): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1196
+/* "src/lxml/lxml.objectify.pyx":1199
* return element
*
* cdef _add_text(_Element elem, text): # <<<<<<<<<<<<<<
__Pyx_RefNannySetupContext("_add_text", 0);
__Pyx_INCREF(__pyx_v_text);
- /* "src/lxml/lxml.objectify.pyx":1200
+ /* "src/lxml/lxml.objectify.pyx":1203
* # tail text, depending on the current tree state
* cdef tree.xmlNode* c_child
* c_child = cetree.findChildBackwards(elem._c_node, 0) # <<<<<<<<<<<<<<
*/
__pyx_v_c_child = findChildBackwards(__pyx_v_elem->_c_node, 0);
- /* "src/lxml/lxml.objectify.pyx":1201
+ /* "src/lxml/lxml.objectify.pyx":1204
* cdef tree.xmlNode* c_child
* c_child = cetree.findChildBackwards(elem._c_node, 0)
* if c_child is not NULL: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_child != NULL) != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1202
+ /* "src/lxml/lxml.objectify.pyx":1205
* c_child = cetree.findChildBackwards(elem._c_node, 0)
* if c_child is not NULL:
* old = cetree.tailOf(c_child) # <<<<<<<<<<<<<<
* if old is not None:
* text = old + text
*/
- __pyx_t_2 = tailOf(__pyx_v_c_child); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = tailOf(__pyx_v_c_child); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_old = __pyx_t_2;
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1203
+ /* "src/lxml/lxml.objectify.pyx":1206
* if c_child is not NULL:
* old = cetree.tailOf(c_child)
* if old is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_1 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1204
+ /* "src/lxml/lxml.objectify.pyx":1207
* old = cetree.tailOf(c_child)
* if old is not None:
* text = old + text # <<<<<<<<<<<<<<
* cetree.setTailText(c_child, text)
* else:
*/
- __pyx_t_2 = PyNumber_Add(__pyx_v_old, __pyx_v_text); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyNumber_Add(__pyx_v_old, __pyx_v_text); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF_SET(__pyx_v_text, __pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1203
+ /* "src/lxml/lxml.objectify.pyx":1206
* if c_child is not NULL:
* old = cetree.tailOf(c_child)
* if old is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1205
+ /* "src/lxml/lxml.objectify.pyx":1208
* if old is not None:
* text = old + text
* cetree.setTailText(c_child, text) # <<<<<<<<<<<<<<
* else:
* old = cetree.textOf(elem._c_node)
*/
- __pyx_t_4 = setTailText(__pyx_v_c_child, __pyx_v_text); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = setTailText(__pyx_v_c_child, __pyx_v_text); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1201
+ /* "src/lxml/lxml.objectify.pyx":1204
* cdef tree.xmlNode* c_child
* c_child = cetree.findChildBackwards(elem._c_node, 0)
* if c_child is not NULL: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/lxml.objectify.pyx":1207
+ /* "src/lxml/lxml.objectify.pyx":1210
* cetree.setTailText(c_child, text)
* else:
* old = cetree.textOf(elem._c_node) # <<<<<<<<<<<<<<
* text = old + text
*/
/*else*/ {
- __pyx_t_2 = textOf(__pyx_v_elem->_c_node); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = textOf(__pyx_v_elem->_c_node); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_old = __pyx_t_2;
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1208
+ /* "src/lxml/lxml.objectify.pyx":1211
* else:
* old = cetree.textOf(elem._c_node)
* if old is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_3 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1209
+ /* "src/lxml/lxml.objectify.pyx":1212
* old = cetree.textOf(elem._c_node)
* if old is not None:
* text = old + text # <<<<<<<<<<<<<<
* cetree.setNodeText(elem._c_node, text)
*
*/
- __pyx_t_2 = PyNumber_Add(__pyx_v_old, __pyx_v_text); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyNumber_Add(__pyx_v_old, __pyx_v_text); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF_SET(__pyx_v_text, __pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1208
+ /* "src/lxml/lxml.objectify.pyx":1211
* else:
* old = cetree.textOf(elem._c_node)
* if old is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1210
+ /* "src/lxml/lxml.objectify.pyx":1213
* if old is not None:
* text = old + text
* cetree.setNodeText(elem._c_node, text) # <<<<<<<<<<<<<<
*
* cdef class ElementMaker:
*/
- __pyx_t_4 = setNodeText(__pyx_v_elem->_c_node, __pyx_v_text); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = setNodeText(__pyx_v_elem->_c_node, __pyx_v_text); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_L3:;
- /* "src/lxml/lxml.objectify.pyx":1196
+ /* "src/lxml/lxml.objectify.pyx":1199
* return element
*
* cdef _add_text(_Element elem, text): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1243
+/* "src/lxml/lxml.objectify.pyx":1246
* cdef bint _annotate
* cdef dict _cache
* def __init__(self, *, namespace=None, nsmap=None, annotate=True, # <<<<<<<<<<<<<<
values[1] = ((PyObject *)Py_None);
values[2] = ((PyObject *)Py_True);
- /* "src/lxml/lxml.objectify.pyx":1244
+ /* "src/lxml/lxml.objectify.pyx":1247
* cdef dict _cache
* def __init__(self, *, namespace=None, nsmap=None, annotate=True,
* makeelement=None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 0) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.ElementMaker.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4lxml_9objectify_12ElementMaker___init__(((struct __pyx_obj_4lxml_9objectify_ElementMaker *)__pyx_v_self), __pyx_v_namespace, __pyx_v_nsmap, __pyx_v_annotate, __pyx_v_makeelement);
- /* "src/lxml/lxml.objectify.pyx":1243
+ /* "src/lxml/lxml.objectify.pyx":1246
* cdef bint _annotate
* cdef dict _cache
* def __init__(self, *, namespace=None, nsmap=None, annotate=True, # <<<<<<<<<<<<<<
__Pyx_RefNannySetupContext("__init__", 0);
__Pyx_INCREF(__pyx_v_nsmap);
- /* "src/lxml/lxml.objectify.pyx":1245
+ /* "src/lxml/lxml.objectify.pyx":1248
* def __init__(self, *, namespace=None, nsmap=None, annotate=True,
* makeelement=None):
* if nsmap is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1246
+ /* "src/lxml/lxml.objectify.pyx":1249
* makeelement=None):
* if nsmap is None:
* nsmap = _DEFAULT_NSMAP if annotate else {} # <<<<<<<<<<<<<<
* self._nsmap = nsmap
* self._namespace = None if namespace is None else u"{%s}" % namespace
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_annotate); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_annotate); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_v_4lxml_9objectify__DEFAULT_NSMAP);
__pyx_t_3 = __pyx_v_4lxml_9objectify__DEFAULT_NSMAP;
} else {
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __pyx_t_4;
__pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_nsmap, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1245
+ /* "src/lxml/lxml.objectify.pyx":1248
* def __init__(self, *, namespace=None, nsmap=None, annotate=True,
* makeelement=None):
* if nsmap is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1247
+ /* "src/lxml/lxml.objectify.pyx":1250
* if nsmap is None:
* nsmap = _DEFAULT_NSMAP if annotate else {}
* self._nsmap = nsmap # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->_nsmap);
__pyx_v_self->_nsmap = __pyx_v_nsmap;
- /* "src/lxml/lxml.objectify.pyx":1248
+ /* "src/lxml/lxml.objectify.pyx":1251
* nsmap = _DEFAULT_NSMAP if annotate else {}
* self._nsmap = nsmap
* self._namespace = None if namespace is None else u"{%s}" % namespace # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__pyx_t_3 = Py_None;
} else {
- __pyx_t_4 = PyUnicode_Format(__pyx_kp_u_s_2, __pyx_v_namespace); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyUnicode_Format(__pyx_kp_u_s_2, __pyx_v_namespace); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __pyx_t_4;
__pyx_t_4 = 0;
__pyx_v_self->_namespace = __pyx_t_3;
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1249
+ /* "src/lxml/lxml.objectify.pyx":1252
* self._nsmap = nsmap
* self._namespace = None if namespace is None else u"{%s}" % namespace
* self._annotate = annotate # <<<<<<<<<<<<<<
* if makeelement is not None:
* if not callable(makeelement):
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_annotate); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_annotate); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_self->_annotate = __pyx_t_2;
- /* "src/lxml/lxml.objectify.pyx":1250
+ /* "src/lxml/lxml.objectify.pyx":1253
* self._namespace = None if namespace is None else u"{%s}" % namespace
* self._annotate = annotate
* if makeelement is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1251
+ /* "src/lxml/lxml.objectify.pyx":1254
* self._annotate = annotate
* if makeelement is not None:
* if not callable(makeelement): # <<<<<<<<<<<<<<
* raise TypeError(
* "argument of 'makeelement' parameter must be callable, got %s" %
*/
- __pyx_t_1 = __Pyx_PyCallable_Check(__pyx_v_makeelement); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyCallable_Check(__pyx_v_makeelement); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1253
+ /* "src/lxml/lxml.objectify.pyx":1256
* if not callable(makeelement):
* raise TypeError(
* "argument of 'makeelement' parameter must be callable, got %s" % # <<<<<<<<<<<<<<
* type(makeelement))
* self._makeelement = makeelement
*/
- __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_argument_of_makeelement_paramete, ((PyObject *)Py_TYPE(__pyx_v_makeelement))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_argument_of_makeelement_paramete, ((PyObject *)Py_TYPE(__pyx_v_makeelement))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- /* "src/lxml/lxml.objectify.pyx":1252
+ /* "src/lxml/lxml.objectify.pyx":1255
* if makeelement is not None:
* if not callable(makeelement):
* raise TypeError( # <<<<<<<<<<<<<<
* "argument of 'makeelement' parameter must be callable, got %s" %
* type(makeelement))
*/
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1251
+ /* "src/lxml/lxml.objectify.pyx":1254
* self._annotate = annotate
* if makeelement is not None:
* if not callable(makeelement): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1255
+ /* "src/lxml/lxml.objectify.pyx":1258
* "argument of 'makeelement' parameter must be callable, got %s" %
* type(makeelement))
* self._makeelement = makeelement # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->_makeelement);
__pyx_v_self->_makeelement = __pyx_v_makeelement;
- /* "src/lxml/lxml.objectify.pyx":1250
+ /* "src/lxml/lxml.objectify.pyx":1253
* self._namespace = None if namespace is None else u"{%s}" % namespace
* self._annotate = annotate
* if makeelement is not None: # <<<<<<<<<<<<<<
goto __pyx_L4;
}
- /* "src/lxml/lxml.objectify.pyx":1257
+ /* "src/lxml/lxml.objectify.pyx":1260
* self._makeelement = makeelement
* else:
* self._makeelement = None # <<<<<<<<<<<<<<
}
__pyx_L4:;
- /* "src/lxml/lxml.objectify.pyx":1258
+ /* "src/lxml/lxml.objectify.pyx":1261
* else:
* self._makeelement = None
* self._cache = {} # <<<<<<<<<<<<<<
*
* @cython.final
*/
- __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_v_self->_cache);
__pyx_v_self->_cache = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1243
+ /* "src/lxml/lxml.objectify.pyx":1246
* cdef bint _annotate
* cdef dict _cache
* def __init__(self, *, namespace=None, nsmap=None, annotate=True, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1261
+/* "src/lxml/lxml.objectify.pyx":1264
*
* @cython.final
* cdef _build_element_maker(self, tag, bint caching): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_build_element_maker", 0);
- /* "src/lxml/lxml.objectify.pyx":1263
+ /* "src/lxml/lxml.objectify.pyx":1266
* cdef _build_element_maker(self, tag, bint caching):
* cdef _ObjectifyElementMakerCaller element_maker
* element_maker = _ObjectifyElementMakerCaller.__new__(_ObjectifyElementMakerCaller) # <<<<<<<<<<<<<<
* if self._namespace is not None and tag[0] != u"{":
* element_maker._tag = self._namespace + tag
*/
- __pyx_t_1 = __pyx_tp_new_4lxml_9objectify__ObjectifyElementMakerCaller(((PyTypeObject *)__pyx_ptype_4lxml_9objectify__ObjectifyElementMakerCaller), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_tp_new_4lxml_9objectify__ObjectifyElementMakerCaller(((PyTypeObject *)__pyx_ptype_4lxml_9objectify__ObjectifyElementMakerCaller), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_9objectify__ObjectifyElementMakerCaller)))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_9objectify__ObjectifyElementMakerCaller)))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_element_maker = ((struct __pyx_obj_4lxml_9objectify__ObjectifyElementMakerCaller *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1264
+ /* "src/lxml/lxml.objectify.pyx":1267
* cdef _ObjectifyElementMakerCaller element_maker
* element_maker = _ObjectifyElementMakerCaller.__new__(_ObjectifyElementMakerCaller)
* if self._namespace is not None and tag[0] != u"{": # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_t_4;
goto __pyx_L4_bool_binop_done;
}
- __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_tag, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_tag, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_kp_u__9, Py_NE)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_kp_u__9, Py_NE)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_2 = __pyx_t_4;
__pyx_L4_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1265
+ /* "src/lxml/lxml.objectify.pyx":1268
* element_maker = _ObjectifyElementMakerCaller.__new__(_ObjectifyElementMakerCaller)
* if self._namespace is not None and tag[0] != u"{":
* element_maker._tag = self._namespace + tag # <<<<<<<<<<<<<<
* else:
* element_maker._tag = tag
*/
- __pyx_t_1 = PyNumber_Add(__pyx_v_self->_namespace, __pyx_v_tag); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyNumber_Add(__pyx_v_self->_namespace, __pyx_v_tag); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_v_element_maker->_tag);
__pyx_v_element_maker->_tag = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1264
+ /* "src/lxml/lxml.objectify.pyx":1267
* cdef _ObjectifyElementMakerCaller element_maker
* element_maker = _ObjectifyElementMakerCaller.__new__(_ObjectifyElementMakerCaller)
* if self._namespace is not None and tag[0] != u"{": # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/lxml.objectify.pyx":1267
+ /* "src/lxml/lxml.objectify.pyx":1270
* element_maker._tag = self._namespace + tag
* else:
* element_maker._tag = tag # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/lxml.objectify.pyx":1268
+ /* "src/lxml/lxml.objectify.pyx":1271
* else:
* element_maker._tag = tag
* element_maker._nsmap = self._nsmap # <<<<<<<<<<<<<<
__pyx_v_element_maker->_nsmap = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1269
+ /* "src/lxml/lxml.objectify.pyx":1272
* element_maker._tag = tag
* element_maker._nsmap = self._nsmap
* element_maker._annotate = self._annotate # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_v_self->_annotate;
__pyx_v_element_maker->_annotate = __pyx_t_2;
- /* "src/lxml/lxml.objectify.pyx":1270
+ /* "src/lxml/lxml.objectify.pyx":1273
* element_maker._nsmap = self._nsmap
* element_maker._annotate = self._annotate
* element_maker._element_factory = self._makeelement # <<<<<<<<<<<<<<
__pyx_v_element_maker->_element_factory = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1271
+ /* "src/lxml/lxml.objectify.pyx":1274
* element_maker._annotate = self._annotate
* element_maker._element_factory = self._makeelement
* if caching: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_caching != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1272
+ /* "src/lxml/lxml.objectify.pyx":1275
* element_maker._element_factory = self._makeelement
* if caching:
* if len(self._cache) > 200: # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_t_1);
if (unlikely(__pyx_t_1 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_5 = PyDict_Size(__pyx_t_1); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyDict_Size(__pyx_t_1); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_2 = ((__pyx_t_5 > 0xC8) != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1273
+ /* "src/lxml/lxml.objectify.pyx":1276
* if caching:
* if len(self._cache) > 200:
* self._cache.clear() # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->_cache == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "clear");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_6 = __Pyx_PyDict_Clear(__pyx_v_self->_cache); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyDict_Clear(__pyx_v_self->_cache); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1272
+ /* "src/lxml/lxml.objectify.pyx":1275
* element_maker._element_factory = self._makeelement
* if caching:
* if len(self._cache) > 200: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1274
+ /* "src/lxml/lxml.objectify.pyx":1277
* if len(self._cache) > 200:
* self._cache.clear()
* self._cache[tag] = element_maker # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->_cache == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- if (unlikely(PyDict_SetItem(__pyx_v_self->_cache, __pyx_v_tag, ((PyObject *)__pyx_v_element_maker)) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyDict_SetItem(__pyx_v_self->_cache, __pyx_v_tag, ((PyObject *)__pyx_v_element_maker)) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1271
+ /* "src/lxml/lxml.objectify.pyx":1274
* element_maker._annotate = self._annotate
* element_maker._element_factory = self._makeelement
* if caching: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1275
+ /* "src/lxml/lxml.objectify.pyx":1278
* self._cache.clear()
* self._cache[tag] = element_maker
* return element_maker # <<<<<<<<<<<<<<
__pyx_r = ((PyObject *)__pyx_v_element_maker);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1261
+ /* "src/lxml/lxml.objectify.pyx":1264
*
* @cython.final
* cdef _build_element_maker(self, tag, bint caching): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1277
+/* "src/lxml/lxml.objectify.pyx":1280
* return element_maker
*
* def __getattr__(self, tag): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__getattr__", 0);
- /* "src/lxml/lxml.objectify.pyx":1278
+ /* "src/lxml/lxml.objectify.pyx":1281
*
* def __getattr__(self, tag):
* element_maker = self._cache.get(tag) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->_cache == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->_cache, __pyx_v_tag, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->_cache, __pyx_v_tag, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_element_maker = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1279
+ /* "src/lxml/lxml.objectify.pyx":1282
* def __getattr__(self, tag):
* element_maker = self._cache.get(tag)
* if element_maker is None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1280
+ /* "src/lxml/lxml.objectify.pyx":1283
* element_maker = self._cache.get(tag)
* if element_maker is None:
* if is_special_method(tag): # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_5) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_tag); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_tag); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_INCREF(__pyx_v_tag);
__Pyx_GIVEREF(__pyx_v_tag);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_tag);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1281
+ /* "src/lxml/lxml.objectify.pyx":1284
* if element_maker is None:
* if is_special_method(tag):
* return object.__getattr__(self, tag) # <<<<<<<<<<<<<<
* return element_maker
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_builtin_object, __pyx_n_s_getattr); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_builtin_object, __pyx_n_s_getattr); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
__pyx_t_7 = 1;
}
}
- __pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_INCREF(__pyx_v_tag);
__Pyx_GIVEREF(__pyx_v_tag);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_v_tag);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1280
+ /* "src/lxml/lxml.objectify.pyx":1283
* element_maker = self._cache.get(tag)
* if element_maker is None:
* if is_special_method(tag): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1282
+ /* "src/lxml/lxml.objectify.pyx":1285
* if is_special_method(tag):
* return object.__getattr__(self, tag)
* return self._build_element_maker(tag, caching=True) # <<<<<<<<<<<<<<
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_9objectify_12ElementMaker__build_element_maker(__pyx_v_self, __pyx_v_tag, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify_12ElementMaker__build_element_maker(__pyx_v_self, __pyx_v_tag, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1279
+ /* "src/lxml/lxml.objectify.pyx":1282
* def __getattr__(self, tag):
* element_maker = self._cache.get(tag)
* if element_maker is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1283
+ /* "src/lxml/lxml.objectify.pyx":1286
* return object.__getattr__(self, tag)
* return self._build_element_maker(tag, caching=True)
* return element_maker # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_element_maker;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1277
+ /* "src/lxml/lxml.objectify.pyx":1280
* return element_maker
*
* def __getattr__(self, tag): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1285
+/* "src/lxml/lxml.objectify.pyx":1288
* return element_maker
*
* def __call__(self, tag, *args, **kwargs): # <<<<<<<<<<<<<<
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__call__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__call__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 1) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__call__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__call__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__call__", 0);
- /* "src/lxml/lxml.objectify.pyx":1286
+ /* "src/lxml/lxml.objectify.pyx":1289
*
* def __call__(self, tag, *args, **kwargs):
* element_maker = self._cache.get(tag) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_self->_cache == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->_cache, __pyx_v_tag, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_self->_cache, __pyx_v_tag, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_element_maker = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1287
+ /* "src/lxml/lxml.objectify.pyx":1290
* def __call__(self, tag, *args, **kwargs):
* element_maker = self._cache.get(tag)
* if element_maker is None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1289
+ /* "src/lxml/lxml.objectify.pyx":1292
* if element_maker is None:
* element_maker = self._build_element_maker(
* tag, caching=not is_special_method(tag)) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_5) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_tag); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_tag); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_INCREF(__pyx_v_tag);
__Pyx_GIVEREF(__pyx_v_tag);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_tag);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1288
+ /* "src/lxml/lxml.objectify.pyx":1291
* element_maker = self._cache.get(tag)
* if element_maker is None:
* element_maker = self._build_element_maker( # <<<<<<<<<<<<<<
* tag, caching=not is_special_method(tag))
* return element_maker(*args, **kwargs)
*/
- __pyx_t_1 = __pyx_f_4lxml_9objectify_12ElementMaker__build_element_maker(__pyx_v_self, __pyx_v_tag, (!__pyx_t_3)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify_12ElementMaker__build_element_maker(__pyx_v_self, __pyx_v_tag, (!__pyx_t_3)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_element_maker, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1287
+ /* "src/lxml/lxml.objectify.pyx":1290
* def __call__(self, tag, *args, **kwargs):
* element_maker = self._cache.get(tag)
* if element_maker is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1290
+ /* "src/lxml/lxml.objectify.pyx":1293
* element_maker = self._build_element_maker(
* tag, caching=not is_special_method(tag))
* return element_maker(*args, **kwargs) # <<<<<<<<<<<<<<
* ################################################################################
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_element_maker, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_element_maker, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1285
+ /* "src/lxml/lxml.objectify.pyx":1288
* return element_maker
*
* def __call__(self, tag, *args, **kwargs): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1297
+/* "src/lxml/lxml.objectify.pyx":1300
* cdef bint __RECURSIVE_STR = 0 # default: off
*
* def enable_recursive_str(on=True): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "enable_recursive_str") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "enable_recursive_str") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("enable_recursive_str", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("enable_recursive_str", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.enable_recursive_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("enable_recursive_str", 0);
- /* "src/lxml/lxml.objectify.pyx":1304
+ /* "src/lxml/lxml.objectify.pyx":1307
* """
* global __RECURSIVE_STR
* __RECURSIVE_STR = on # <<<<<<<<<<<<<<
*
* def dump(_Element element not None):
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_on); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_on); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_4lxml_9objectify___RECURSIVE_STR = __pyx_t_1;
- /* "src/lxml/lxml.objectify.pyx":1297
+ /* "src/lxml/lxml.objectify.pyx":1300
* cdef bint __RECURSIVE_STR = 0 # default: off
*
* def enable_recursive_str(on=True): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1306
+/* "src/lxml/lxml.objectify.pyx":1309
* __RECURSIVE_STR = on
*
* def dump(_Element element not None): # <<<<<<<<<<<<<<
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("dump (wrapper)", 0);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_element), __pyx_ptype_4lxml_8includes_11etreepublic__Element, 0, "element", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_element), __pyx_ptype_4lxml_8includes_11etreepublic__Element, 0, "element", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_r = __pyx_pf_4lxml_9objectify_14dump(__pyx_self, ((struct LxmlElement *)__pyx_v_element));
/* function exit code */
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("dump", 0);
- /* "src/lxml/lxml.objectify.pyx":1311
+ /* "src/lxml/lxml.objectify.pyx":1314
* Return a recursively generated string representation of an element.
* """
* return _dump(element, 0) # <<<<<<<<<<<<<<
* cdef object _dump(_Element element, int indent):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __pyx_f_4lxml_9objectify__dump(__pyx_v_element, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify__dump(__pyx_v_element, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1306
+ /* "src/lxml/lxml.objectify.pyx":1309
* __RECURSIVE_STR = on
*
* def dump(_Element element not None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1313
+/* "src/lxml/lxml.objectify.pyx":1316
* return _dump(element, 0)
*
* cdef object _dump(_Element element, int indent): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_dump", 0);
- /* "src/lxml/lxml.objectify.pyx":1314
+ /* "src/lxml/lxml.objectify.pyx":1317
*
* cdef object _dump(_Element element, int indent):
* indentstr = u" " * indent # <<<<<<<<<<<<<<
* if isinstance(element, ObjectifiedDataElement):
* value = repr(element)
*/
- __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_indent); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_indent); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = PyNumber_Multiply(__pyx_kp_u__10, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyNumber_Multiply(__pyx_kp_u__10, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_2)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_v_indentstr = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1315
+ /* "src/lxml/lxml.objectify.pyx":1318
* cdef object _dump(_Element element, int indent):
* indentstr = u" " * indent
* if isinstance(element, ObjectifiedDataElement): # <<<<<<<<<<<<<<
__pyx_t_4 = (__pyx_t_3 != 0);
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1316
+ /* "src/lxml/lxml.objectify.pyx":1319
* indentstr = u" " * indent
* if isinstance(element, ObjectifiedDataElement):
* value = repr(element) # <<<<<<<<<<<<<<
* else:
* value = textOf(element._c_node)
*/
- __pyx_t_2 = PyObject_Repr(((PyObject *)__pyx_v_element)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_Repr(((PyObject *)__pyx_v_element)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_value = __pyx_t_2;
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1315
+ /* "src/lxml/lxml.objectify.pyx":1318
* cdef object _dump(_Element element, int indent):
* indentstr = u" " * indent
* if isinstance(element, ObjectifiedDataElement): # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/lxml.objectify.pyx":1318
+ /* "src/lxml/lxml.objectify.pyx":1321
* value = repr(element)
* else:
* value = textOf(element._c_node) # <<<<<<<<<<<<<<
* if not value.strip():
*/
/*else*/ {
- __pyx_t_2 = textOf(__pyx_v_element->_c_node); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = textOf(__pyx_v_element->_c_node); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_value = __pyx_t_2;
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1319
+ /* "src/lxml/lxml.objectify.pyx":1322
* else:
* value = textOf(element._c_node)
* if value is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_4 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1320
+ /* "src/lxml/lxml.objectify.pyx":1323
* value = textOf(element._c_node)
* if value is not None:
* if not value.strip(): # <<<<<<<<<<<<<<
* value = None
* else:
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_strip); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_strip); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
}
}
if (__pyx_t_5) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
- __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = ((!__pyx_t_3) != 0);
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1321
+ /* "src/lxml/lxml.objectify.pyx":1324
* if value is not None:
* if not value.strip():
* value = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__Pyx_DECREF_SET(__pyx_v_value, Py_None);
- /* "src/lxml/lxml.objectify.pyx":1320
+ /* "src/lxml/lxml.objectify.pyx":1323
* value = textOf(element._c_node)
* if value is not None:
* if not value.strip(): # <<<<<<<<<<<<<<
goto __pyx_L5;
}
- /* "src/lxml/lxml.objectify.pyx":1323
+ /* "src/lxml/lxml.objectify.pyx":1326
* value = None
* else:
* value = repr(value) # <<<<<<<<<<<<<<
* value, _typename(element))
*/
/*else*/ {
- __pyx_t_2 = PyObject_Repr(__pyx_v_value); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_Repr(__pyx_v_value); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_2);
__pyx_t_2 = 0;
}
__pyx_L5:;
- /* "src/lxml/lxml.objectify.pyx":1319
+ /* "src/lxml/lxml.objectify.pyx":1322
* else:
* value = textOf(element._c_node)
* if value is not None: # <<<<<<<<<<<<<<
}
__pyx_L3:;
- /* "src/lxml/lxml.objectify.pyx":1324
+ /* "src/lxml/lxml.objectify.pyx":1327
* else:
* value = repr(value)
* result = u"%s%s = %s [%s]\n" % (indentstr, element.tag, # <<<<<<<<<<<<<<
* value, _typename(element))
* xsi_ns = u"{%s}" % XML_SCHEMA_INSTANCE_NS
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_element), __pyx_n_s_tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_element), __pyx_n_s_tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- /* "src/lxml/lxml.objectify.pyx":1325
+ /* "src/lxml/lxml.objectify.pyx":1328
* value = repr(value)
* result = u"%s%s = %s [%s]\n" % (indentstr, element.tag,
* value, _typename(element)) # <<<<<<<<<<<<<<
* xsi_ns = u"{%s}" % XML_SCHEMA_INSTANCE_NS
* pytype_ns = u"{%s}" % PYTYPE_NAMESPACE
*/
- __pyx_t_1 = __pyx_f_4lxml_9objectify__typename(((PyObject *)__pyx_v_element)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify__typename(((PyObject *)__pyx_v_element)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- /* "src/lxml/lxml.objectify.pyx":1324
+ /* "src/lxml/lxml.objectify.pyx":1327
* else:
* value = repr(value)
* result = u"%s%s = %s [%s]\n" % (indentstr, element.tag, # <<<<<<<<<<<<<<
* value, _typename(element))
* xsi_ns = u"{%s}" % XML_SCHEMA_INSTANCE_NS
*/
- __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_indentstr);
__Pyx_GIVEREF(__pyx_v_indentstr);
PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_1);
__pyx_t_2 = 0;
__pyx_t_1 = 0;
- __pyx_t_1 = PyUnicode_Format(__pyx_kp_u_s_s_s_s, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyUnicode_Format(__pyx_kp_u_s_s_s_s, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_result = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1326
+ /* "src/lxml/lxml.objectify.pyx":1329
* result = u"%s%s = %s [%s]\n" % (indentstr, element.tag,
* value, _typename(element))
* xsi_ns = u"{%s}" % XML_SCHEMA_INSTANCE_NS # <<<<<<<<<<<<<<
* pytype_ns = u"{%s}" % PYTYPE_NAMESPACE
* for name, value in cetree.iterattributes(element, 3):
*/
- __pyx_t_1 = PyUnicode_Format(__pyx_kp_u_s_2, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_NS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyUnicode_Format(__pyx_kp_u_s_2, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_NS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_xsi_ns = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1327
+ /* "src/lxml/lxml.objectify.pyx":1330
* value, _typename(element))
* xsi_ns = u"{%s}" % XML_SCHEMA_INSTANCE_NS
* pytype_ns = u"{%s}" % PYTYPE_NAMESPACE # <<<<<<<<<<<<<<
* for name, value in cetree.iterattributes(element, 3):
* if u'{' in name:
*/
- __pyx_t_1 = PyUnicode_Format(__pyx_kp_u_s_2, __pyx_v_4lxml_9objectify_PYTYPE_NAMESPACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyUnicode_Format(__pyx_kp_u_s_2, __pyx_v_4lxml_9objectify_PYTYPE_NAMESPACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_pytype_ns = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1328
+ /* "src/lxml/lxml.objectify.pyx":1331
* xsi_ns = u"{%s}" % XML_SCHEMA_INSTANCE_NS
* pytype_ns = u"{%s}" % PYTYPE_NAMESPACE
* for name, value in cetree.iterattributes(element, 3): # <<<<<<<<<<<<<<
* if u'{' in name:
* if name == PYTYPE_ATTRIBUTE:
*/
- __pyx_t_1 = iterattributes(__pyx_v_element, 3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = iterattributes(__pyx_v_element, 3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
- __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(PyList_CheckExact(__pyx_t_5))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_8);
#else
- __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L8_unpacking_failed;
__Pyx_GOTREF(__pyx_t_8);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_10 = NULL;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
goto __pyx_L9_unpacking_done;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_10 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L9_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_2);
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_8);
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1329
+ /* "src/lxml/lxml.objectify.pyx":1332
* pytype_ns = u"{%s}" % PYTYPE_NAMESPACE
* for name, value in cetree.iterattributes(element, 3):
* if u'{' in name: # <<<<<<<<<<<<<<
* if name == PYTYPE_ATTRIBUTE:
* if value == TREE_PYTYPE_NAME:
*/
- __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__9, __pyx_v_name, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__9, __pyx_v_name, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_3 = (__pyx_t_4 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1330
+ /* "src/lxml/lxml.objectify.pyx":1333
* for name, value in cetree.iterattributes(element, 3):
* if u'{' in name:
* if name == PYTYPE_ATTRIBUTE: # <<<<<<<<<<<<<<
* if value == TREE_PYTYPE_NAME:
* continue
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_8 = PyObject_RichCompare(__pyx_v_name, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyObject_RichCompare(__pyx_v_name, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1331
+ /* "src/lxml/lxml.objectify.pyx":1334
* if u'{' in name:
* if name == PYTYPE_ATTRIBUTE:
* if value == TREE_PYTYPE_NAME: # <<<<<<<<<<<<<<
* continue
* else:
*/
- __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1332
+ /* "src/lxml/lxml.objectify.pyx":1335
* if name == PYTYPE_ATTRIBUTE:
* if value == TREE_PYTYPE_NAME:
* continue # <<<<<<<<<<<<<<
*/
goto __pyx_L6_continue;
- /* "src/lxml/lxml.objectify.pyx":1331
+ /* "src/lxml/lxml.objectify.pyx":1334
* if u'{' in name:
* if name == PYTYPE_ATTRIBUTE:
* if value == TREE_PYTYPE_NAME: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1334
+ /* "src/lxml/lxml.objectify.pyx":1337
* continue
* else:
* name = name.replace(pytype_ns, u'py:') # <<<<<<<<<<<<<<
* result += u"%s * %s = %r\n" % (indentstr, name, value)
*/
/*else*/ {
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = NULL;
__pyx_t_11 = 0;
__pyx_t_11 = 1;
}
}
- __pyx_t_9 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_9 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_2) {
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); __pyx_t_2 = NULL;
__Pyx_INCREF(__pyx_kp_u_py);
__Pyx_GIVEREF(__pyx_kp_u_py);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_11, __pyx_kp_u_py);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = 0;
}
- /* "src/lxml/lxml.objectify.pyx":1330
+ /* "src/lxml/lxml.objectify.pyx":1333
* for name, value in cetree.iterattributes(element, 3):
* if u'{' in name:
* if name == PYTYPE_ATTRIBUTE: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1335
+ /* "src/lxml/lxml.objectify.pyx":1338
* else:
* name = name.replace(pytype_ns, u'py:')
* name = name.replace(xsi_ns, u'xsi:') # <<<<<<<<<<<<<<
* result += u"%s * %s = %r\n" % (indentstr, name, value)
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_9 = NULL;
__pyx_t_11 = 0;
__pyx_t_11 = 1;
}
}
- __pyx_t_2 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_9); __pyx_t_9 = NULL;
__Pyx_INCREF(__pyx_kp_u_xsi);
__Pyx_GIVEREF(__pyx_kp_u_xsi);
PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_11, __pyx_kp_u_xsi);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_8);
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1329
+ /* "src/lxml/lxml.objectify.pyx":1332
* pytype_ns = u"{%s}" % PYTYPE_NAMESPACE
* for name, value in cetree.iterattributes(element, 3):
* if u'{' in name: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1336
+ /* "src/lxml/lxml.objectify.pyx":1339
* name = name.replace(pytype_ns, u'py:')
* name = name.replace(xsi_ns, u'xsi:')
* result += u"%s * %s = %r\n" % (indentstr, name, value) # <<<<<<<<<<<<<<
*
* indent += 1
*/
- __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_v_indentstr);
__Pyx_GIVEREF(__pyx_v_indentstr);
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_value);
- __pyx_t_1 = PyUnicode_Format(__pyx_kp_u_s_s_r, __pyx_t_8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyUnicode_Format(__pyx_kp_u_s_s_r, __pyx_t_8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_result, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_result, __pyx_t_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_result, __pyx_t_8);
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1328
+ /* "src/lxml/lxml.objectify.pyx":1331
* xsi_ns = u"{%s}" % XML_SCHEMA_INSTANCE_NS
* pytype_ns = u"{%s}" % PYTYPE_NAMESPACE
* for name, value in cetree.iterattributes(element, 3): # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1338
+ /* "src/lxml/lxml.objectify.pyx":1341
* result += u"%s * %s = %r\n" % (indentstr, name, value)
*
* indent += 1 # <<<<<<<<<<<<<<
*/
__pyx_v_indent = (__pyx_v_indent + 1);
- /* "src/lxml/lxml.objectify.pyx":1339
+ /* "src/lxml/lxml.objectify.pyx":1342
*
* indent += 1
* for child in element.iterchildren(): # <<<<<<<<<<<<<<
* result += _dump(child, indent)
* if indent == 1:
*/
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_element), __pyx_n_s_iterchildren); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_element), __pyx_n_s_iterchildren); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
}
}
if (__pyx_t_1) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
- __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __pyx_t_5; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
- __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
if (likely(PyList_CheckExact(__pyx_t_8))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
__Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1340
+ /* "src/lxml/lxml.objectify.pyx":1343
* indent += 1
* for child in element.iterchildren():
* result += _dump(child, indent) # <<<<<<<<<<<<<<
* if indent == 1:
* return result[:-1] # strip last '\n'
*/
- if (!(likely(((__pyx_v_child) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_child, __pyx_ptype_4lxml_8includes_11etreepublic__Element))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_5 = __pyx_f_4lxml_9objectify__dump(((struct LxmlElement *)__pyx_v_child), __pyx_v_indent); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (!(likely(((__pyx_v_child) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_child, __pyx_ptype_4lxml_8includes_11etreepublic__Element))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __pyx_f_4lxml_9objectify__dump(((struct LxmlElement *)__pyx_v_child), __pyx_v_indent); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_result, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_result, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_result, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1339
+ /* "src/lxml/lxml.objectify.pyx":1342
*
* indent += 1
* for child in element.iterchildren(): # <<<<<<<<<<<<<<
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1341
+ /* "src/lxml/lxml.objectify.pyx":1344
* for child in element.iterchildren():
* result += _dump(child, indent)
* if indent == 1: # <<<<<<<<<<<<<<
__pyx_t_3 = ((__pyx_v_indent == 1) != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1342
+ /* "src/lxml/lxml.objectify.pyx":1345
* result += _dump(child, indent)
* if indent == 1:
* return result[:-1] # strip last '\n' # <<<<<<<<<<<<<<
* return result
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_8 = __Pyx_PyObject_GetSlice(__pyx_v_result, 0, -1L, NULL, NULL, &__pyx_slice__11, 0, 1, 1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_GetSlice(__pyx_v_result, 0, -1L, NULL, NULL, &__pyx_slice__11, 0, 1, 1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__pyx_r = __pyx_t_8;
__pyx_t_8 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1341
+ /* "src/lxml/lxml.objectify.pyx":1344
* for child in element.iterchildren():
* result += _dump(child, indent)
* if indent == 1: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1344
+ /* "src/lxml/lxml.objectify.pyx":1347
* return result[:-1] # strip last '\n'
* else:
* return result # <<<<<<<<<<<<<<
goto __pyx_L0;
}
- /* "src/lxml/lxml.objectify.pyx":1313
+ /* "src/lxml/lxml.objectify.pyx":1316
* return _dump(element, 0)
*
* cdef object _dump(_Element element, int indent): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1350
+/* "src/lxml/lxml.objectify.pyx":1353
* # Pickle support for objectified ElementTree
*
* def __unpickleElementTree(data): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__unpickleElementTree", 0);
- /* "src/lxml/lxml.objectify.pyx":1351
+ /* "src/lxml/lxml.objectify.pyx":1354
*
* def __unpickleElementTree(data):
* return etree.ElementTree(fromstring(data)) # <<<<<<<<<<<<<<
* cdef _setupPickle(elementTreeReduceFunction):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_ElementTree); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_ElementTree); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_fromstring); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_fromstring); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) {
}
}
if (!__pyx_t_5) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_data); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_data); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_INCREF(__pyx_v_data);
__Pyx_GIVEREF(__pyx_v_data);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_data);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
}
}
if (!__pyx_t_4) {
- __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_3);
__pyx_t_3 = 0;
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_t_1 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1350
+ /* "src/lxml/lxml.objectify.pyx":1353
* # Pickle support for objectified ElementTree
*
* def __unpickleElementTree(data): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1353
+/* "src/lxml/lxml.objectify.pyx":1356
* return etree.ElementTree(fromstring(data))
*
* cdef _setupPickle(elementTreeReduceFunction): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_setupPickle", 0);
- /* "src/lxml/lxml.objectify.pyx":1354
+ /* "src/lxml/lxml.objectify.pyx":1357
*
* cdef _setupPickle(elementTreeReduceFunction):
* if python.IS_PYTHON3: # <<<<<<<<<<<<<<
__pyx_t_1 = (IS_PYTHON3 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1355
+ /* "src/lxml/lxml.objectify.pyx":1358
* cdef _setupPickle(elementTreeReduceFunction):
* if python.IS_PYTHON3:
* import copyreg # <<<<<<<<<<<<<<
* else:
* import copy_reg as copyreg
*/
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_copyreg, 0, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_copyreg, 0, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_copyreg = __pyx_t_2;
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1354
+ /* "src/lxml/lxml.objectify.pyx":1357
*
* cdef _setupPickle(elementTreeReduceFunction):
* if python.IS_PYTHON3: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/lxml.objectify.pyx":1357
+ /* "src/lxml/lxml.objectify.pyx":1360
* import copyreg
* else:
* import copy_reg as copyreg # <<<<<<<<<<<<<<
* elementTreeReduceFunction, __unpickleElementTree)
*/
/*else*/ {
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_copy_reg, 0, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_copy_reg, 0, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_copyreg = __pyx_t_2;
__pyx_t_2 = 0;
}
__pyx_L3:;
- /* "src/lxml/lxml.objectify.pyx":1358
+ /* "src/lxml/lxml.objectify.pyx":1361
* else:
* import copy_reg as copyreg
* copyreg.pickle(etree._ElementTree, # <<<<<<<<<<<<<<
* elementTreeReduceFunction, __unpickleElementTree)
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_copyreg, __pyx_n_s_pickle); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_copyreg, __pyx_n_s_pickle); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_ElementTree_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_ElementTree_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- /* "src/lxml/lxml.objectify.pyx":1359
+ /* "src/lxml/lxml.objectify.pyx":1362
* import copy_reg as copyreg
* copyreg.pickle(etree._ElementTree,
* elementTreeReduceFunction, __unpickleElementTree) # <<<<<<<<<<<<<<
*
* def pickleReduceElementTree(obj):
*/
- __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_unpickleElementTree); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_unpickleElementTree); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
__pyx_t_7 = 1;
}
}
- __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_t_5);
__pyx_t_4 = 0;
__pyx_t_5 = 0;
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1353
+ /* "src/lxml/lxml.objectify.pyx":1356
* return etree.ElementTree(fromstring(data))
*
* cdef _setupPickle(elementTreeReduceFunction): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1361
+/* "src/lxml/lxml.objectify.pyx":1364
* elementTreeReduceFunction, __unpickleElementTree)
*
* def pickleReduceElementTree(obj): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("pickleReduceElementTree", 0);
- /* "src/lxml/lxml.objectify.pyx":1362
+ /* "src/lxml/lxml.objectify.pyx":1365
*
* def pickleReduceElementTree(obj):
* return (__unpickleElementTree, (etree.tostring(obj),)) # <<<<<<<<<<<<<<
* _setupPickle(pickleReduceElementTree)
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_unpickleElementTree); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_unpickleElementTree); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
}
}
if (!__pyx_t_4) {
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_obj); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_obj); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
} else {
- __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_INCREF(__pyx_v_obj);
__Pyx_GIVEREF(__pyx_v_obj);
PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_obj);
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__pyx_t_2 = 0;
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1361
+ /* "src/lxml/lxml.objectify.pyx":1364
* elementTreeReduceFunction, __unpickleElementTree)
*
* def pickleReduceElementTree(obj): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1376
+/* "src/lxml/lxml.objectify.pyx":1379
* cdef object empty_data_class
* cdef object tree_class
* def __init__(self, tree_class=None, empty_data_class=None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.ObjectifyElementClassLookup.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__Pyx_INCREF(__pyx_v_tree_class);
__Pyx_INCREF(__pyx_v_empty_data_class);
- /* "src/lxml/lxml.objectify.pyx":1385
+ /* "src/lxml/lxml.objectify.pyx":1388
* empty data elements (defauls to StringElement).
* """
* self._lookup_function = _lookupElementClass # <<<<<<<<<<<<<<
*/
__pyx_v_self->__pyx_base._lookup_function = __pyx_f_4lxml_9objectify__lookupElementClass;
- /* "src/lxml/lxml.objectify.pyx":1386
+ /* "src/lxml/lxml.objectify.pyx":1389
* """
* self._lookup_function = _lookupElementClass
* if tree_class is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1387
+ /* "src/lxml/lxml.objectify.pyx":1390
* self._lookup_function = _lookupElementClass
* if tree_class is None:
* tree_class = ObjectifiedElement # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifiedElement));
__Pyx_DECREF_SET(__pyx_v_tree_class, ((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifiedElement));
- /* "src/lxml/lxml.objectify.pyx":1386
+ /* "src/lxml/lxml.objectify.pyx":1389
* """
* self._lookup_function = _lookupElementClass
* if tree_class is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1388
+ /* "src/lxml/lxml.objectify.pyx":1391
* if tree_class is None:
* tree_class = ObjectifiedElement
* self.tree_class = tree_class # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->tree_class);
__pyx_v_self->tree_class = __pyx_v_tree_class;
- /* "src/lxml/lxml.objectify.pyx":1389
+ /* "src/lxml/lxml.objectify.pyx":1392
* tree_class = ObjectifiedElement
* self.tree_class = tree_class
* if empty_data_class is None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1390
+ /* "src/lxml/lxml.objectify.pyx":1393
* self.tree_class = tree_class
* if empty_data_class is None:
* empty_data_class = StringElement # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_StringElement));
__Pyx_DECREF_SET(__pyx_v_empty_data_class, ((PyObject *)__pyx_ptype_4lxml_9objectify_StringElement));
- /* "src/lxml/lxml.objectify.pyx":1389
+ /* "src/lxml/lxml.objectify.pyx":1392
* tree_class = ObjectifiedElement
* self.tree_class = tree_class
* if empty_data_class is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1391
+ /* "src/lxml/lxml.objectify.pyx":1394
* if empty_data_class is None:
* empty_data_class = StringElement
* self.empty_data_class = empty_data_class # <<<<<<<<<<<<<<
__Pyx_DECREF(__pyx_v_self->empty_data_class);
__pyx_v_self->empty_data_class = __pyx_v_empty_data_class;
- /* "src/lxml/lxml.objectify.pyx":1376
+ /* "src/lxml/lxml.objectify.pyx":1379
* cdef object empty_data_class
* cdef object tree_class
* def __init__(self, tree_class=None, empty_data_class=None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1393
+/* "src/lxml/lxml.objectify.pyx":1396
* self.empty_data_class = empty_data_class
*
* cdef object _lookupElementClass(state, _Document doc, tree.xmlNode* c_node): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_lookupElementClass", 0);
- /* "src/lxml/lxml.objectify.pyx":1395
+ /* "src/lxml/lxml.objectify.pyx":1398
* cdef object _lookupElementClass(state, _Document doc, tree.xmlNode* c_node):
* cdef ObjectifyElementClassLookup lookup
* lookup = <ObjectifyElementClassLookup>state # <<<<<<<<<<<<<<
__pyx_v_lookup = ((struct __pyx_obj_4lxml_9objectify_ObjectifyElementClassLookup *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1397
+ /* "src/lxml/lxml.objectify.pyx":1400
* lookup = <ObjectifyElementClassLookup>state
* # if element has children => no data class
* if cetree.hasChild(c_node): # <<<<<<<<<<<<<<
__pyx_t_2 = (hasChild(__pyx_v_c_node) != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1398
+ /* "src/lxml/lxml.objectify.pyx":1401
* # if element has children => no data class
* if cetree.hasChild(c_node):
* return lookup.tree_class # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_lookup->tree_class;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1397
+ /* "src/lxml/lxml.objectify.pyx":1400
* lookup = <ObjectifyElementClassLookup>state
* # if element has children => no data class
* if cetree.hasChild(c_node): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1401
+ /* "src/lxml/lxml.objectify.pyx":1404
*
* # if element is defined as xsi:nil, return NoneElement class
* if u"true" == cetree.attributeValueFromNsName( # <<<<<<<<<<<<<<
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"nil"):
* return NoneElement
*/
- __pyx_t_1 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_nil))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_nil))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_n_u_true, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_n_u_true, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1403
+ /* "src/lxml/lxml.objectify.pyx":1406
* if u"true" == cetree.attributeValueFromNsName(
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"nil"):
* return NoneElement # <<<<<<<<<<<<<<
__pyx_r = ((PyObject *)__pyx_ptype_4lxml_9objectify_NoneElement);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1401
+ /* "src/lxml/lxml.objectify.pyx":1404
*
* # if element is defined as xsi:nil, return NoneElement class
* if u"true" == cetree.attributeValueFromNsName( # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1406
+ /* "src/lxml/lxml.objectify.pyx":1409
*
* # check for Python type hint
* value = cetree.attributeValueFromNsName( # <<<<<<<<<<<<<<
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if value is not None:
*/
- __pyx_t_1 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__PYTYPE_NAMESPACE, __pyx_v_4lxml_9objectify__PYTYPE_ATTRIBUTE_NAME); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__PYTYPE_NAMESPACE, __pyx_v_4lxml_9objectify__PYTYPE_ATTRIBUTE_NAME); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_value = __pyx_t_1;
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1408
+ /* "src/lxml/lxml.objectify.pyx":1411
* value = cetree.attributeValueFromNsName(
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if value is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1409
+ /* "src/lxml/lxml.objectify.pyx":1412
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if value is not None:
* if value == TREE_PYTYPE_NAME: # <<<<<<<<<<<<<<
* return lookup.tree_class
* py_type = <PyType>_PYTYPE_DICT.get(value)
*/
- __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_value, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1410
+ /* "src/lxml/lxml.objectify.pyx":1413
* if value is not None:
* if value == TREE_PYTYPE_NAME:
* return lookup.tree_class # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_lookup->tree_class;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1409
+ /* "src/lxml/lxml.objectify.pyx":1412
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if value is not None:
* if value == TREE_PYTYPE_NAME: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1411
+ /* "src/lxml/lxml.objectify.pyx":1414
* if value == TREE_PYTYPE_NAME:
* return lookup.tree_class
* py_type = <PyType>_PYTYPE_DICT.get(value) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_value, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_value, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_4);
__pyx_v_py_type = ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1412
+ /* "src/lxml/lxml.objectify.pyx":1415
* return lookup.tree_class
* py_type = <PyType>_PYTYPE_DICT.get(value)
* if py_type is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1413
+ /* "src/lxml/lxml.objectify.pyx":1416
* py_type = <PyType>_PYTYPE_DICT.get(value)
* if py_type is not None:
* return py_type._type # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_py_type->_type;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1412
+ /* "src/lxml/lxml.objectify.pyx":1415
* return lookup.tree_class
* py_type = <PyType>_PYTYPE_DICT.get(value)
* if py_type is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1408
+ /* "src/lxml/lxml.objectify.pyx":1411
* value = cetree.attributeValueFromNsName(
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if value is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1417
+ /* "src/lxml/lxml.objectify.pyx":1420
*
* # check for XML Schema type hint
* value = cetree.attributeValueFromNsName( # <<<<<<<<<<<<<<
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"type")
*
*/
- __pyx_t_4 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_type))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_type))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1420
+ /* "src/lxml/lxml.objectify.pyx":1423
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"type")
*
* if value is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1421
+ /* "src/lxml/lxml.objectify.pyx":1424
*
* if value is not None:
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_value, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_value, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __pyx_t_4;
__Pyx_INCREF(__pyx_t_1);
__pyx_v_schema_type = ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1422
+ /* "src/lxml/lxml.objectify.pyx":1425
* if value is not None:
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is None and u':' in value: # <<<<<<<<<<<<<<
__pyx_t_3 = __pyx_t_5;
goto __pyx_L10_bool_binop_done;
}
- __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__12, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__12, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_5 != 0);
__pyx_t_3 = __pyx_t_2;
__pyx_L10_bool_binop_done:;
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1423
+ /* "src/lxml/lxml.objectify.pyx":1426
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is None and u':' in value:
* prefix, value = value.split(u':', 1) # <<<<<<<<<<<<<<
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is not None:
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
__Pyx_GOTREF(__pyx_t_1);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L12_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L13_unpacking_done;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L13_unpacking_done:;
}
__pyx_v_prefix = __pyx_t_1;
__Pyx_DECREF_SET(__pyx_v_value, __pyx_t_6);
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1424
+ /* "src/lxml/lxml.objectify.pyx":1427
* if schema_type is None and u':' in value:
* prefix, value = value.split(u':', 1)
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_value, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_value, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = __pyx_t_4;
__Pyx_INCREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_schema_type, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_6));
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1422
+ /* "src/lxml/lxml.objectify.pyx":1425
* if value is not None:
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is None and u':' in value: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1425
+ /* "src/lxml/lxml.objectify.pyx":1428
* prefix, value = value.split(u':', 1)
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1426
+ /* "src/lxml/lxml.objectify.pyx":1429
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is not None:
* return schema_type._type # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_schema_type->_type;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1425
+ /* "src/lxml/lxml.objectify.pyx":1428
* prefix, value = value.split(u':', 1)
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1420
+ /* "src/lxml/lxml.objectify.pyx":1423
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"type")
*
* if value is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1429
+ /* "src/lxml/lxml.objectify.pyx":1432
*
* # otherwise determine class based on text content type
* el_class = _guessElementClass(c_node) # <<<<<<<<<<<<<<
* if el_class is not None:
* return el_class
*/
- __pyx_t_6 = __pyx_f_4lxml_9objectify__guessElementClass(__pyx_v_c_node); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __pyx_f_4lxml_9objectify__guessElementClass(__pyx_v_c_node); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__pyx_v_el_class = __pyx_t_6;
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1430
+ /* "src/lxml/lxml.objectify.pyx":1433
* # otherwise determine class based on text content type
* el_class = _guessElementClass(c_node)
* if el_class is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1431
+ /* "src/lxml/lxml.objectify.pyx":1434
* el_class = _guessElementClass(c_node)
* if el_class is not None:
* return el_class # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_el_class;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1430
+ /* "src/lxml/lxml.objectify.pyx":1433
* # otherwise determine class based on text content type
* el_class = _guessElementClass(c_node)
* if el_class is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1434
+ /* "src/lxml/lxml.objectify.pyx":1437
*
* # if element is a root node => default to tree node
* if c_node.parent is NULL or not tree._isElement(c_node.parent): # <<<<<<<<<<<<<<
__pyx_L17_bool_binop_done:;
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1435
+ /* "src/lxml/lxml.objectify.pyx":1438
* # if element is a root node => default to tree node
* if c_node.parent is NULL or not tree._isElement(c_node.parent):
* return lookup.tree_class # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_lookup->tree_class;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1434
+ /* "src/lxml/lxml.objectify.pyx":1437
*
* # if element is a root node => default to tree node
* if c_node.parent is NULL or not tree._isElement(c_node.parent): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1437
+ /* "src/lxml/lxml.objectify.pyx":1440
* return lookup.tree_class
*
* return lookup.empty_data_class # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_lookup->empty_data_class;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1393
+ /* "src/lxml/lxml.objectify.pyx":1396
* self.empty_data_class = empty_data_class
*
* cdef object _lookupElementClass(state, _Document doc, tree.xmlNode* c_node): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1443
+/* "src/lxml/lxml.objectify.pyx":1446
* # Type annotations
*
* cdef PyType _check_type(tree.xmlNode* c_node, PyType pytype): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_check_type", 0);
- /* "src/lxml/lxml.objectify.pyx":1444
+ /* "src/lxml/lxml.objectify.pyx":1447
*
* cdef PyType _check_type(tree.xmlNode* c_node, PyType pytype):
* if pytype is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1445
+ /* "src/lxml/lxml.objectify.pyx":1448
* cdef PyType _check_type(tree.xmlNode* c_node, PyType pytype):
* if pytype is None:
* return None # <<<<<<<<<<<<<<
__pyx_r = ((struct __pyx_obj_4lxml_9objectify_PyType *)Py_None);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1444
+ /* "src/lxml/lxml.objectify.pyx":1447
*
* cdef PyType _check_type(tree.xmlNode* c_node, PyType pytype):
* if pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1446
+ /* "src/lxml/lxml.objectify.pyx":1449
* if pytype is None:
* return None
* value = textOf(c_node) # <<<<<<<<<<<<<<
* try:
* pytype.type_check(value)
*/
- __pyx_t_3 = textOf(__pyx_v_c_node); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = textOf(__pyx_v_c_node); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_value = __pyx_t_3;
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1447
+ /* "src/lxml/lxml.objectify.pyx":1450
* return None
* value = textOf(c_node)
* try: # <<<<<<<<<<<<<<
__Pyx_XGOTREF(__pyx_t_6);
/*try:*/ {
- /* "src/lxml/lxml.objectify.pyx":1448
+ /* "src/lxml/lxml.objectify.pyx":1451
* value = textOf(c_node)
* try:
* pytype.type_check(value) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_8) {
- __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
+ __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
__Pyx_GOTREF(__pyx_t_3);
} else {
- __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
+ __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
__Pyx_GOTREF(__pyx_t_9);
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
__Pyx_INCREF(__pyx_v_value);
__Pyx_GIVEREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_value);
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1449
+ /* "src/lxml/lxml.objectify.pyx":1452
* try:
* pytype.type_check(value)
* return pytype # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_pytype;
goto __pyx_L8_try_return;
- /* "src/lxml/lxml.objectify.pyx":1447
+ /* "src/lxml/lxml.objectify.pyx":1450
* return None
* value = textOf(c_node)
* try: # <<<<<<<<<<<<<<
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1450
+ /* "src/lxml/lxml.objectify.pyx":1453
* pytype.type_check(value)
* return pytype
* except IGNORABLE_ERRORS: # <<<<<<<<<<<<<<
goto __pyx_L6_except_error;
__pyx_L6_except_error:;
- /* "src/lxml/lxml.objectify.pyx":1447
+ /* "src/lxml/lxml.objectify.pyx":1450
* return None
* value = textOf(c_node)
* try: # <<<<<<<<<<<<<<
__Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
}
- /* "src/lxml/lxml.objectify.pyx":1453
+ /* "src/lxml/lxml.objectify.pyx":1456
* # could not be parsed as the specified type => ignore
* pass
* return None # <<<<<<<<<<<<<<
__pyx_r = ((struct __pyx_obj_4lxml_9objectify_PyType *)Py_None);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1443
+ /* "src/lxml/lxml.objectify.pyx":1446
* # Type annotations
*
* cdef PyType _check_type(tree.xmlNode* c_node, PyType pytype): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1455
+/* "src/lxml/lxml.objectify.pyx":1458
* return None
*
* def pyannotate(element_or_tree, *, ignore_old=False, ignore_xsi=False, # <<<<<<<<<<<<<<
values[1] = ((PyObject *)((PyObject *)Py_False));
values[2] = ((PyObject *)((PyObject *)Py_False));
- /* "src/lxml/lxml.objectify.pyx":1456
+ /* "src/lxml/lxml.objectify.pyx":1459
*
* def pyannotate(element_or_tree, *, ignore_old=False, ignore_xsi=False,
* empty_pytype=None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pyannotate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pyannotate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("pyannotate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("pyannotate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.pyannotate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4lxml_9objectify_20pyannotate(__pyx_self, __pyx_v_element_or_tree, __pyx_v_ignore_old, __pyx_v_ignore_xsi, __pyx_v_empty_pytype);
- /* "src/lxml/lxml.objectify.pyx":1455
+ /* "src/lxml/lxml.objectify.pyx":1458
* return None
*
* def pyannotate(element_or_tree, *, ignore_old=False, ignore_xsi=False, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("pyannotate", 0);
- /* "src/lxml/lxml.objectify.pyx":1475
+ /* "src/lxml/lxml.objectify.pyx":1478
* """
* cdef _Element element
* element = cetree.rootNodeOrRaise(element_or_tree) # <<<<<<<<<<<<<<
* _annotate(element, 0, 1, ignore_xsi, ignore_old, None, empty_pytype)
*
*/
- __pyx_t_1 = ((PyObject *)rootNodeOrRaise(__pyx_v_element_or_tree)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)rootNodeOrRaise(__pyx_v_element_or_tree)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_element = ((struct LxmlElement *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1476
+ /* "src/lxml/lxml.objectify.pyx":1479
* cdef _Element element
* element = cetree.rootNodeOrRaise(element_or_tree)
* _annotate(element, 0, 1, ignore_xsi, ignore_old, None, empty_pytype) # <<<<<<<<<<<<<<
*
* def xsiannotate(element_or_tree, *, ignore_old=False, ignore_pytype=False,
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_xsi); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_old); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_f_4lxml_9objectify__annotate(__pyx_v_element, 0, 1, __pyx_t_2, __pyx_t_3, Py_None, __pyx_v_empty_pytype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_xsi); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_old); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify__annotate(__pyx_v_element, 0, 1, __pyx_t_2, __pyx_t_3, Py_None, __pyx_v_empty_pytype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1455
+ /* "src/lxml/lxml.objectify.pyx":1458
* return None
*
* def pyannotate(element_or_tree, *, ignore_old=False, ignore_xsi=False, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1478
+/* "src/lxml/lxml.objectify.pyx":1481
* _annotate(element, 0, 1, ignore_xsi, ignore_old, None, empty_pytype)
*
* def xsiannotate(element_or_tree, *, ignore_old=False, ignore_pytype=False, # <<<<<<<<<<<<<<
values[1] = ((PyObject *)((PyObject *)Py_False));
values[2] = ((PyObject *)((PyObject *)Py_False));
- /* "src/lxml/lxml.objectify.pyx":1479
+ /* "src/lxml/lxml.objectify.pyx":1482
*
* def xsiannotate(element_or_tree, *, ignore_old=False, ignore_pytype=False,
* empty_type=None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "xsiannotate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "xsiannotate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("xsiannotate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("xsiannotate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.xsiannotate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4lxml_9objectify_22xsiannotate(__pyx_self, __pyx_v_element_or_tree, __pyx_v_ignore_old, __pyx_v_ignore_pytype, __pyx_v_empty_type);
- /* "src/lxml/lxml.objectify.pyx":1478
+ /* "src/lxml/lxml.objectify.pyx":1481
* _annotate(element, 0, 1, ignore_xsi, ignore_old, None, empty_pytype)
*
* def xsiannotate(element_or_tree, *, ignore_old=False, ignore_pytype=False, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("xsiannotate", 0);
- /* "src/lxml/lxml.objectify.pyx":1503
+ /* "src/lxml/lxml.objectify.pyx":1506
* """
* cdef _Element element
* element = cetree.rootNodeOrRaise(element_or_tree) # <<<<<<<<<<<<<<
* _annotate(element, 1, 0, ignore_old, ignore_pytype, empty_type, None)
*
*/
- __pyx_t_1 = ((PyObject *)rootNodeOrRaise(__pyx_v_element_or_tree)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)rootNodeOrRaise(__pyx_v_element_or_tree)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_element = ((struct LxmlElement *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1504
+ /* "src/lxml/lxml.objectify.pyx":1507
* cdef _Element element
* element = cetree.rootNodeOrRaise(element_or_tree)
* _annotate(element, 1, 0, ignore_old, ignore_pytype, empty_type, None) # <<<<<<<<<<<<<<
*
* def annotate(element_or_tree, *, ignore_old=True, ignore_xsi=False,
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_old); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_pytype); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __pyx_f_4lxml_9objectify__annotate(__pyx_v_element, 1, 0, __pyx_t_2, __pyx_t_3, __pyx_v_empty_type, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_old); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_pytype); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify__annotate(__pyx_v_element, 1, 0, __pyx_t_2, __pyx_t_3, __pyx_v_empty_type, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1478
+ /* "src/lxml/lxml.objectify.pyx":1481
* _annotate(element, 0, 1, ignore_xsi, ignore_old, None, empty_pytype)
*
* def xsiannotate(element_or_tree, *, ignore_old=False, ignore_pytype=False, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1506
+/* "src/lxml/lxml.objectify.pyx":1509
* _annotate(element, 1, 0, ignore_old, ignore_pytype, empty_type, None)
*
* def annotate(element_or_tree, *, ignore_old=True, ignore_xsi=False, # <<<<<<<<<<<<<<
values[1] = ((PyObject *)((PyObject *)Py_True));
values[2] = ((PyObject *)((PyObject *)Py_False));
- /* "src/lxml/lxml.objectify.pyx":1507
+ /* "src/lxml/lxml.objectify.pyx":1510
*
* def annotate(element_or_tree, *, ignore_old=True, ignore_xsi=False,
* empty_pytype=None, empty_type=None, annotate_xsi=0, # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "annotate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "annotate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("annotate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("annotate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.annotate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4lxml_9objectify_24annotate(__pyx_self, __pyx_v_element_or_tree, __pyx_v_ignore_old, __pyx_v_ignore_xsi, __pyx_v_empty_pytype, __pyx_v_empty_type, __pyx_v_annotate_xsi, __pyx_v_annotate_pytype);
- /* "src/lxml/lxml.objectify.pyx":1506
+ /* "src/lxml/lxml.objectify.pyx":1509
* _annotate(element, 1, 0, ignore_old, ignore_pytype, empty_type, None)
*
* def annotate(element_or_tree, *, ignore_old=True, ignore_xsi=False, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("annotate", 0);
- /* "src/lxml/lxml.objectify.pyx":1540
+ /* "src/lxml/lxml.objectify.pyx":1543
* """
* cdef _Element element
* element = cetree.rootNodeOrRaise(element_or_tree) # <<<<<<<<<<<<<<
* _annotate(element, annotate_xsi, annotate_pytype, ignore_xsi,
* ignore_old, empty_type, empty_pytype)
*/
- __pyx_t_1 = ((PyObject *)rootNodeOrRaise(__pyx_v_element_or_tree)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)rootNodeOrRaise(__pyx_v_element_or_tree)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_element = ((struct LxmlElement *)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1541
+ /* "src/lxml/lxml.objectify.pyx":1544
* cdef _Element element
* element = cetree.rootNodeOrRaise(element_or_tree)
* _annotate(element, annotate_xsi, annotate_pytype, ignore_xsi, # <<<<<<<<<<<<<<
* ignore_old, empty_type, empty_pytype)
*
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_annotate_xsi); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_annotate_pytype); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_xsi); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_annotate_xsi); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_annotate_pytype); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_xsi); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1542
+ /* "src/lxml/lxml.objectify.pyx":1545
* element = cetree.rootNodeOrRaise(element_or_tree)
* _annotate(element, annotate_xsi, annotate_pytype, ignore_xsi,
* ignore_old, empty_type, empty_pytype) # <<<<<<<<<<<<<<
*
*
*/
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_old); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_old); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1541
+ /* "src/lxml/lxml.objectify.pyx":1544
* cdef _Element element
* element = cetree.rootNodeOrRaise(element_or_tree)
* _annotate(element, annotate_xsi, annotate_pytype, ignore_xsi, # <<<<<<<<<<<<<<
* ignore_old, empty_type, empty_pytype)
*
*/
- __pyx_t_1 = __pyx_f_4lxml_9objectify__annotate(__pyx_v_element, __pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_v_empty_type, __pyx_v_empty_pytype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1541; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify__annotate(__pyx_v_element, __pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_v_empty_type, __pyx_v_empty_pytype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1506
+ /* "src/lxml/lxml.objectify.pyx":1509
* _annotate(element, 1, 0, ignore_old, ignore_pytype, empty_type, None)
*
* def annotate(element_or_tree, *, ignore_old=True, ignore_xsi=False, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1545
+/* "src/lxml/lxml.objectify.pyx":1548
*
*
* cdef _annotate(_Element element, bint annotate_xsi, bint annotate_pytype, # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_empty_type_name);
__Pyx_INCREF(__pyx_v_empty_pytype_name);
- /* "src/lxml/lxml.objectify.pyx":1552
+ /* "src/lxml/lxml.objectify.pyx":1555
* cdef PyType empty_pytype, StrType, NoneType
*
* if not annotate_xsi and not annotate_pytype: # <<<<<<<<<<<<<<
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1553
+ /* "src/lxml/lxml.objectify.pyx":1556
*
* if not annotate_xsi and not annotate_pytype:
* return # <<<<<<<<<<<<<<
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1552
+ /* "src/lxml/lxml.objectify.pyx":1555
* cdef PyType empty_pytype, StrType, NoneType
*
* if not annotate_xsi and not annotate_pytype: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1555
+ /* "src/lxml/lxml.objectify.pyx":1558
* return
*
* if empty_type_name is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1556
+ /* "src/lxml/lxml.objectify.pyx":1559
*
* if empty_type_name is not None:
* if isinstance(empty_type_name, bytes): # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1557
+ /* "src/lxml/lxml.objectify.pyx":1560
* if empty_type_name is not None:
* if isinstance(empty_type_name, bytes):
* empty_type_name = (<bytes>empty_type_name).decode("ascii") # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_empty_type_name == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "decode");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_3 = __Pyx_decode_bytes(((PyObject*)__pyx_v_empty_type_name), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_decode_bytes(((PyObject*)__pyx_v_empty_type_name), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_empty_type_name, __pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1556
+ /* "src/lxml/lxml.objectify.pyx":1559
*
* if empty_type_name is not None:
* if isinstance(empty_type_name, bytes): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1558
+ /* "src/lxml/lxml.objectify.pyx":1561
* if isinstance(empty_type_name, bytes):
* empty_type_name = (<bytes>empty_type_name).decode("ascii")
* empty_pytype = <PyType>_SCHEMA_TYPE_DICT.get(empty_type_name) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_empty_type_name, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_empty_type_name, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __pyx_t_3;
__Pyx_INCREF(__pyx_t_4);
__pyx_v_empty_pytype = ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1555
+ /* "src/lxml/lxml.objectify.pyx":1558
* return
*
* if empty_type_name is not None: # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/lxml.objectify.pyx":1559
+ /* "src/lxml/lxml.objectify.pyx":1562
* empty_type_name = (<bytes>empty_type_name).decode("ascii")
* empty_pytype = <PyType>_SCHEMA_TYPE_DICT.get(empty_type_name)
* elif empty_pytype_name is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1560
+ /* "src/lxml/lxml.objectify.pyx":1563
* empty_pytype = <PyType>_SCHEMA_TYPE_DICT.get(empty_type_name)
* elif empty_pytype_name is not None:
* if isinstance(empty_pytype_name, bytes): # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1561
+ /* "src/lxml/lxml.objectify.pyx":1564
* elif empty_pytype_name is not None:
* if isinstance(empty_pytype_name, bytes):
* empty_pytype_name = (<bytes>empty_pytype_name).decode("ascii") # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_empty_pytype_name == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "decode");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_4 = __Pyx_decode_bytes(((PyObject*)__pyx_v_empty_pytype_name), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_decode_bytes(((PyObject*)__pyx_v_empty_pytype_name), 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_empty_pytype_name, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1560
+ /* "src/lxml/lxml.objectify.pyx":1563
* empty_pytype = <PyType>_SCHEMA_TYPE_DICT.get(empty_type_name)
* elif empty_pytype_name is not None:
* if isinstance(empty_pytype_name, bytes): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1562
+ /* "src/lxml/lxml.objectify.pyx":1565
* if isinstance(empty_pytype_name, bytes):
* empty_pytype_name = (<bytes>empty_pytype_name).decode("ascii")
* empty_pytype = <PyType>_PYTYPE_DICT.get(empty_pytype_name) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_empty_pytype_name, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_empty_pytype_name, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __pyx_t_4;
__Pyx_INCREF(__pyx_t_3);
__pyx_v_empty_pytype = ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1559
+ /* "src/lxml/lxml.objectify.pyx":1562
* empty_type_name = (<bytes>empty_type_name).decode("ascii")
* empty_pytype = <PyType>_SCHEMA_TYPE_DICT.get(empty_type_name)
* elif empty_pytype_name is not None: # <<<<<<<<<<<<<<
goto __pyx_L6;
}
- /* "src/lxml/lxml.objectify.pyx":1564
+ /* "src/lxml/lxml.objectify.pyx":1567
* empty_pytype = <PyType>_PYTYPE_DICT.get(empty_pytype_name)
* else:
* empty_pytype = None # <<<<<<<<<<<<<<
}
__pyx_L6:;
- /* "src/lxml/lxml.objectify.pyx":1566
+ /* "src/lxml/lxml.objectify.pyx":1569
* empty_pytype = None
*
* StrType = <PyType>_PYTYPE_DICT.get(u'str') # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_n_u_str, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_n_u_str, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __pyx_t_3;
__Pyx_INCREF(__pyx_t_4);
__pyx_v_StrType = ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1567
+ /* "src/lxml/lxml.objectify.pyx":1570
*
* StrType = <PyType>_PYTYPE_DICT.get(u'str')
* NoneType = <PyType>_PYTYPE_DICT.get(u'NoneType') # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_n_u_NoneType, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_n_u_NoneType, Py_None); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __pyx_t_4;
__Pyx_INCREF(__pyx_t_3);
__pyx_v_NoneType = ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1569
+ /* "src/lxml/lxml.objectify.pyx":1572
* NoneType = <PyType>_PYTYPE_DICT.get(u'NoneType')
*
* doc = element._doc # <<<<<<<<<<<<<<
__pyx_v_doc = ((struct LxmlDocument *)__pyx_t_3);
__pyx_t_3 = 0;
- /* "src/lxml/lxml.objectify.pyx":1570
+ /* "src/lxml/lxml.objectify.pyx":1573
*
* doc = element._doc
* c_node = element._c_node # <<<<<<<<<<<<<<
__pyx_t_5 = __pyx_v_element->_c_node;
__pyx_v_c_node = __pyx_t_5;
- /* "src/lxml/lxml.objectify.pyx":1571
+ /* "src/lxml/lxml.objectify.pyx":1574
* doc = element._doc
* c_node = element._c_node
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(c_node, c_node, 1) # <<<<<<<<<<<<<<
*/
BEGIN_FOR_EACH_ELEMENT_FROM(__pyx_v_c_node, __pyx_v_c_node, 1);
- /* "src/lxml/lxml.objectify.pyx":1572
+ /* "src/lxml/lxml.objectify.pyx":1575
* c_node = element._c_node
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(c_node, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE: # <<<<<<<<<<<<<<
__pyx_t_1 = ((__pyx_v_c_node->type == XML_ELEMENT_NODE) != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1573
+ /* "src/lxml/lxml.objectify.pyx":1576
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(c_node, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE:
* _annotate_element(c_node, doc, annotate_xsi, annotate_pytype, # <<<<<<<<<<<<<<
* ignore_xsi, ignore_pytype,
* empty_type_name, empty_pytype, StrType, NoneType)
*/
- __pyx_t_6 = __pyx_f_4lxml_9objectify__annotate_element(__pyx_v_c_node, __pyx_v_doc, __pyx_v_annotate_xsi, __pyx_v_annotate_pytype, __pyx_v_ignore_xsi, __pyx_v_ignore_pytype, __pyx_v_empty_type_name, __pyx_v_empty_pytype, __pyx_v_StrType, __pyx_v_NoneType); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __pyx_f_4lxml_9objectify__annotate_element(__pyx_v_c_node, __pyx_v_doc, __pyx_v_annotate_xsi, __pyx_v_annotate_pytype, __pyx_v_ignore_xsi, __pyx_v_ignore_pytype, __pyx_v_empty_type_name, __pyx_v_empty_pytype, __pyx_v_StrType, __pyx_v_NoneType); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1572
+ /* "src/lxml/lxml.objectify.pyx":1575
* c_node = element._c_node
* tree.BEGIN_FOR_EACH_ELEMENT_FROM(c_node, c_node, 1)
* if c_node.type == tree.XML_ELEMENT_NODE: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1576
+ /* "src/lxml/lxml.objectify.pyx":1579
* ignore_xsi, ignore_pytype,
* empty_type_name, empty_pytype, StrType, NoneType)
* tree.END_FOR_EACH_ELEMENT_FROM(c_node) # <<<<<<<<<<<<<<
*/
END_FOR_EACH_ELEMENT_FROM(__pyx_v_c_node);
- /* "src/lxml/lxml.objectify.pyx":1545
+ /* "src/lxml/lxml.objectify.pyx":1548
*
*
* cdef _annotate(_Element element, bint annotate_xsi, bint annotate_pytype, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1578
+/* "src/lxml/lxml.objectify.pyx":1581
* tree.END_FOR_EACH_ELEMENT_FROM(c_node)
*
* cdef int _annotate_element(tree.xmlNode* c_node, _Document doc, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_annotate_element", 0);
- /* "src/lxml/lxml.objectify.pyx":1584
+ /* "src/lxml/lxml.objectify.pyx":1587
* PyType StrType, PyType NoneType) except -1:
* cdef tree.xmlNs* c_ns
* cdef PyType pytype = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__pyx_v_pytype = ((struct __pyx_obj_4lxml_9objectify_PyType *)Py_None);
- /* "src/lxml/lxml.objectify.pyx":1585
+ /* "src/lxml/lxml.objectify.pyx":1588
* cdef tree.xmlNs* c_ns
* cdef PyType pytype = None
* typename = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__pyx_v_typename = Py_None;
- /* "src/lxml/lxml.objectify.pyx":1586
+ /* "src/lxml/lxml.objectify.pyx":1589
* cdef PyType pytype = None
* typename = None
* istree = 0 # <<<<<<<<<<<<<<
*/
__pyx_v_istree = 0;
- /* "src/lxml/lxml.objectify.pyx":1589
+ /* "src/lxml/lxml.objectify.pyx":1592
*
* # if element is defined as xsi:nil, represent it as None
* if cetree.attributeValueFromNsName( # <<<<<<<<<<<<<<
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"nil") == "true":
* pytype = NoneType
*/
- __pyx_t_1 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_nil))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_nil))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_true, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_true, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1593; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1591
+ /* "src/lxml/lxml.objectify.pyx":1594
* if cetree.attributeValueFromNsName(
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"nil") == "true":
* pytype = NoneType # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)__pyx_v_NoneType));
__Pyx_DECREF_SET(__pyx_v_pytype, __pyx_v_NoneType);
- /* "src/lxml/lxml.objectify.pyx":1589
+ /* "src/lxml/lxml.objectify.pyx":1592
*
* # if element is defined as xsi:nil, represent it as None
* if cetree.attributeValueFromNsName( # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1593
+ /* "src/lxml/lxml.objectify.pyx":1596
* pytype = NoneType
*
* if pytype is None and not ignore_xsi: # <<<<<<<<<<<<<<
__pyx_L5_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1595
+ /* "src/lxml/lxml.objectify.pyx":1598
* if pytype is None and not ignore_xsi:
* # check that old xsi type value is valid
* typename = cetree.attributeValueFromNsName( # <<<<<<<<<<<<<<
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"type")
* if typename is not None:
*/
- __pyx_t_1 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_type))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_type))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_typename, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1597
+ /* "src/lxml/lxml.objectify.pyx":1600
* typename = cetree.attributeValueFromNsName(
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"type")
* if typename is not None: # <<<<<<<<<<<<<<
__pyx_t_4 = (__pyx_t_2 != 0);
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1598
+ /* "src/lxml/lxml.objectify.pyx":1601
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"type")
* if typename is not None:
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_typename, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_typename, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_5);
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_5));
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1599
+ /* "src/lxml/lxml.objectify.pyx":1602
* if typename is not None:
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename)
* if pytype is None and u':' in typename: # <<<<<<<<<<<<<<
__pyx_t_4 = __pyx_t_3;
goto __pyx_L9_bool_binop_done;
}
- __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__12, __pyx_v_typename, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__12, __pyx_v_typename, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1602; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_3 != 0);
__pyx_t_4 = __pyx_t_2;
__pyx_L9_bool_binop_done:;
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1600
+ /* "src/lxml/lxml.objectify.pyx":1603
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename)
* if pytype is None and u':' in typename:
* prefix, typename = typename.split(u':', 1) # <<<<<<<<<<<<<<
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename)
* if pytype is not None and pytype is not StrType:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L11_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L12_unpacking_done;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L12_unpacking_done:;
}
__pyx_v_prefix = __pyx_t_5;
__Pyx_DECREF_SET(__pyx_v_typename, __pyx_t_6);
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1601
+ /* "src/lxml/lxml.objectify.pyx":1604
* if pytype is None and u':' in typename:
* prefix, typename = typename.split(u':', 1)
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_typename, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_typename, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_6));
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1599
+ /* "src/lxml/lxml.objectify.pyx":1602
* if typename is not None:
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename)
* if pytype is None and u':' in typename: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1602
+ /* "src/lxml/lxml.objectify.pyx":1605
* prefix, typename = typename.split(u':', 1)
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename)
* if pytype is not None and pytype is not StrType: # <<<<<<<<<<<<<<
__pyx_L14_bool_binop_done:;
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1606
+ /* "src/lxml/lxml.objectify.pyx":1609
* # anyway, so just accept it if given as type
* # information
* pytype = _check_type(c_node, pytype) # <<<<<<<<<<<<<<
* if pytype is None:
* typename = None
*/
- __pyx_t_6 = ((PyObject *)__pyx_f_4lxml_9objectify__check_type(__pyx_v_c_node, __pyx_v_pytype)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = ((PyObject *)__pyx_f_4lxml_9objectify__check_type(__pyx_v_c_node, __pyx_v_pytype)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1609; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_6));
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1607
+ /* "src/lxml/lxml.objectify.pyx":1610
* # information
* pytype = _check_type(c_node, pytype)
* if pytype is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_4 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1608
+ /* "src/lxml/lxml.objectify.pyx":1611
* pytype = _check_type(c_node, pytype)
* if pytype is None:
* typename = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__Pyx_DECREF_SET(__pyx_v_typename, Py_None);
- /* "src/lxml/lxml.objectify.pyx":1607
+ /* "src/lxml/lxml.objectify.pyx":1610
* # information
* pytype = _check_type(c_node, pytype)
* if pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1602
+ /* "src/lxml/lxml.objectify.pyx":1605
* prefix, typename = typename.split(u':', 1)
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename)
* if pytype is not None and pytype is not StrType: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1597
+ /* "src/lxml/lxml.objectify.pyx":1600
* typename = cetree.attributeValueFromNsName(
* c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>"type")
* if typename is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1593
+ /* "src/lxml/lxml.objectify.pyx":1596
* pytype = NoneType
*
* if pytype is None and not ignore_xsi: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1610
+ /* "src/lxml/lxml.objectify.pyx":1613
* typename = None
*
* if pytype is None and not ignore_pytype: # <<<<<<<<<<<<<<
__pyx_L18_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1612
+ /* "src/lxml/lxml.objectify.pyx":1615
* if pytype is None and not ignore_pytype:
* # check that old pytype value is valid
* old_pytypename = cetree.attributeValueFromNsName( # <<<<<<<<<<<<<<
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if old_pytypename is not None:
*/
- __pyx_t_6 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__PYTYPE_NAMESPACE, __pyx_v_4lxml_9objectify__PYTYPE_ATTRIBUTE_NAME); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = attributeValueFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__PYTYPE_NAMESPACE, __pyx_v_4lxml_9objectify__PYTYPE_ATTRIBUTE_NAME); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__pyx_v_old_pytypename = __pyx_t_6;
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1614
+ /* "src/lxml/lxml.objectify.pyx":1617
* old_pytypename = cetree.attributeValueFromNsName(
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if old_pytypename is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1615
+ /* "src/lxml/lxml.objectify.pyx":1618
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if old_pytypename is not None:
* if old_pytypename == TREE_PYTYPE_NAME: # <<<<<<<<<<<<<<
* if not cetree.hasChild(c_node):
* # only case where we should keep it,
*/
- __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_old_pytypename, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_old_pytypename, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1616
+ /* "src/lxml/lxml.objectify.pyx":1619
* if old_pytypename is not None:
* if old_pytypename == TREE_PYTYPE_NAME:
* if not cetree.hasChild(c_node): # <<<<<<<<<<<<<<
__pyx_t_3 = ((!(hasChild(__pyx_v_c_node) != 0)) != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1619
+ /* "src/lxml/lxml.objectify.pyx":1622
* # only case where we should keep it,
* # everything else is clear enough
* pytype = TREE_PYTYPE # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)__pyx_v_4lxml_9objectify_TREE_PYTYPE));
__Pyx_DECREF_SET(__pyx_v_pytype, __pyx_v_4lxml_9objectify_TREE_PYTYPE);
- /* "src/lxml/lxml.objectify.pyx":1616
+ /* "src/lxml/lxml.objectify.pyx":1619
* if old_pytypename is not None:
* if old_pytypename == TREE_PYTYPE_NAME:
* if not cetree.hasChild(c_node): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1615
+ /* "src/lxml/lxml.objectify.pyx":1618
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if old_pytypename is not None:
* if old_pytypename == TREE_PYTYPE_NAME: # <<<<<<<<<<<<<<
goto __pyx_L21;
}
- /* "src/lxml/lxml.objectify.pyx":1621
+ /* "src/lxml/lxml.objectify.pyx":1624
* pytype = TREE_PYTYPE
* else:
* if old_pytypename == 'none': # <<<<<<<<<<<<<<
* old_pytypename = "NoneType"
*/
/*else*/ {
- __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_old_pytypename, __pyx_n_s_none, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_old_pytypename, __pyx_n_s_none, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1623
+ /* "src/lxml/lxml.objectify.pyx":1626
* if old_pytypename == 'none':
* # transition from lxml 1.x
* old_pytypename = "NoneType" # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_n_s_NoneType);
__Pyx_DECREF_SET(__pyx_v_old_pytypename, __pyx_n_s_NoneType);
- /* "src/lxml/lxml.objectify.pyx":1621
+ /* "src/lxml/lxml.objectify.pyx":1624
* pytype = TREE_PYTYPE
* else:
* if old_pytypename == 'none': # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1624
+ /* "src/lxml/lxml.objectify.pyx":1627
* # transition from lxml 1.x
* old_pytypename = "NoneType"
* pytype = <PyType>_PYTYPE_DICT.get(old_pytypename) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_6 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_old_pytypename, Py_None); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v_old_pytypename, Py_None); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_1 = __pyx_t_6;
__Pyx_INCREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1625
+ /* "src/lxml/lxml.objectify.pyx":1628
* old_pytypename = "NoneType"
* pytype = <PyType>_PYTYPE_DICT.get(old_pytypename)
* if pytype is not None and pytype is not StrType: # <<<<<<<<<<<<<<
__pyx_L25_bool_binop_done:;
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1629
+ /* "src/lxml/lxml.objectify.pyx":1632
* # default anyway, so just accept it if given as
* # type information
* pytype = _check_type(c_node, pytype) # <<<<<<<<<<<<<<
*
* if pytype is None:
*/
- __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_9objectify__check_type(__pyx_v_c_node, __pyx_v_pytype)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_9objectify__check_type(__pyx_v_c_node, __pyx_v_pytype)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_1));
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1625
+ /* "src/lxml/lxml.objectify.pyx":1628
* old_pytypename = "NoneType"
* pytype = <PyType>_PYTYPE_DICT.get(old_pytypename)
* if pytype is not None and pytype is not StrType: # <<<<<<<<<<<<<<
}
__pyx_L21:;
- /* "src/lxml/lxml.objectify.pyx":1614
+ /* "src/lxml/lxml.objectify.pyx":1617
* old_pytypename = cetree.attributeValueFromNsName(
* c_node, _PYTYPE_NAMESPACE, _PYTYPE_ATTRIBUTE_NAME)
* if old_pytypename is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1610
+ /* "src/lxml/lxml.objectify.pyx":1613
* typename = None
*
* if pytype is None and not ignore_pytype: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1631
+ /* "src/lxml/lxml.objectify.pyx":1634
* pytype = _check_type(c_node, pytype)
*
* if pytype is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1633
+ /* "src/lxml/lxml.objectify.pyx":1636
* if pytype is None:
* # try to guess type
* if not cetree.hasChild(c_node): # <<<<<<<<<<<<<<
__pyx_t_2 = ((!(hasChild(__pyx_v_c_node) != 0)) != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1635
+ /* "src/lxml/lxml.objectify.pyx":1638
* if not cetree.hasChild(c_node):
* # element has no children => data class
* pytype = _guessPyType(textOf(c_node), StrType) # <<<<<<<<<<<<<<
* else:
* istree = 1
*/
- __pyx_t_1 = textOf(__pyx_v_c_node); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = textOf(__pyx_v_c_node); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_6 = ((PyObject *)__pyx_f_4lxml_9objectify__guessPyType(__pyx_t_1, __pyx_v_StrType)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = ((PyObject *)__pyx_f_4lxml_9objectify__guessPyType(__pyx_t_1, __pyx_v_StrType)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_pytype, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_6));
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1633
+ /* "src/lxml/lxml.objectify.pyx":1636
* if pytype is None:
* # try to guess type
* if not cetree.hasChild(c_node): # <<<<<<<<<<<<<<
goto __pyx_L28;
}
- /* "src/lxml/lxml.objectify.pyx":1637
+ /* "src/lxml/lxml.objectify.pyx":1640
* pytype = _guessPyType(textOf(c_node), StrType)
* else:
* istree = 1 # <<<<<<<<<<<<<<
}
__pyx_L28:;
- /* "src/lxml/lxml.objectify.pyx":1631
+ /* "src/lxml/lxml.objectify.pyx":1634
* pytype = _check_type(c_node, pytype)
*
* if pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1639
+ /* "src/lxml/lxml.objectify.pyx":1642
* istree = 1
*
* if pytype is None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1641
+ /* "src/lxml/lxml.objectify.pyx":1644
* if pytype is None:
* # use default type for empty elements
* if cetree.hasText(c_node): # <<<<<<<<<<<<<<
__pyx_t_3 = (hasText(__pyx_v_c_node) != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1642
+ /* "src/lxml/lxml.objectify.pyx":1645
* # use default type for empty elements
* if cetree.hasText(c_node):
* pytype = StrType # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)__pyx_v_StrType));
__Pyx_DECREF_SET(__pyx_v_pytype, __pyx_v_StrType);
- /* "src/lxml/lxml.objectify.pyx":1641
+ /* "src/lxml/lxml.objectify.pyx":1644
* if pytype is None:
* # use default type for empty elements
* if cetree.hasText(c_node): # <<<<<<<<<<<<<<
goto __pyx_L30;
}
- /* "src/lxml/lxml.objectify.pyx":1644
+ /* "src/lxml/lxml.objectify.pyx":1647
* pytype = StrType
* else:
* pytype = empty_pytype # <<<<<<<<<<<<<<
__Pyx_INCREF(((PyObject *)__pyx_v_empty_pytype));
__Pyx_DECREF_SET(__pyx_v_pytype, __pyx_v_empty_pytype);
- /* "src/lxml/lxml.objectify.pyx":1645
+ /* "src/lxml/lxml.objectify.pyx":1648
* else:
* pytype = empty_pytype
* if typename is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1646
+ /* "src/lxml/lxml.objectify.pyx":1649
* pytype = empty_pytype
* if typename is None:
* typename = empty_type_name # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_empty_type_name);
__Pyx_DECREF_SET(__pyx_v_typename, __pyx_v_empty_type_name);
- /* "src/lxml/lxml.objectify.pyx":1645
+ /* "src/lxml/lxml.objectify.pyx":1648
* else:
* pytype = empty_pytype
* if typename is None: # <<<<<<<<<<<<<<
}
__pyx_L30:;
- /* "src/lxml/lxml.objectify.pyx":1639
+ /* "src/lxml/lxml.objectify.pyx":1642
* istree = 1
*
* if pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1648
+ /* "src/lxml/lxml.objectify.pyx":1651
* typename = empty_type_name
*
* if pytype is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1649
+ /* "src/lxml/lxml.objectify.pyx":1652
*
* if pytype is not None:
* if typename is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1650
+ /* "src/lxml/lxml.objectify.pyx":1653
* if pytype is not None:
* if typename is None:
* if not istree: # <<<<<<<<<<<<<<
__pyx_t_2 = ((!(__pyx_v_istree != 0)) != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1651
+ /* "src/lxml/lxml.objectify.pyx":1654
* if typename is None:
* if not istree:
* if pytype._schema_types: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_pytype->_schema_types != Py_None) && (PyList_GET_SIZE(__pyx_v_pytype->_schema_types) != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1654
+ /* "src/lxml/lxml.objectify.pyx":1657
* # pytype->xsi:type is a 1:n mapping
* # simply take the first
* typename = pytype._schema_types[0] # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_pytype->_schema_types == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_pytype->_schema_types, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1654; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_pytype->_schema_types, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1657; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_typename, __pyx_t_6);
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1651
+ /* "src/lxml/lxml.objectify.pyx":1654
* if typename is None:
* if not istree:
* if pytype._schema_types: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1650
+ /* "src/lxml/lxml.objectify.pyx":1653
* if pytype is not None:
* if typename is None:
* if not istree: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1649
+ /* "src/lxml/lxml.objectify.pyx":1652
*
* if pytype is not None:
* if typename is None: # <<<<<<<<<<<<<<
goto __pyx_L33;
}
- /* "src/lxml/lxml.objectify.pyx":1655
+ /* "src/lxml/lxml.objectify.pyx":1658
* # simply take the first
* typename = pytype._schema_types[0]
* elif typename not in pytype._schema_types: # <<<<<<<<<<<<<<
* typename = pytype._schema_types[0]
*
*/
- __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_typename, __pyx_v_pytype->_schema_types, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1655; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_typename, __pyx_v_pytype->_schema_types, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1656
+ /* "src/lxml/lxml.objectify.pyx":1659
* typename = pytype._schema_types[0]
* elif typename not in pytype._schema_types:
* typename = pytype._schema_types[0] # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_pytype->_schema_types == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_pytype->_schema_types, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1656; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+ __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_pytype->_schema_types, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1659; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF_SET(__pyx_v_typename, __pyx_t_6);
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1655
+ /* "src/lxml/lxml.objectify.pyx":1658
* # simply take the first
* typename = pytype._schema_types[0]
* elif typename not in pytype._schema_types: # <<<<<<<<<<<<<<
}
__pyx_L33:;
- /* "src/lxml/lxml.objectify.pyx":1648
+ /* "src/lxml/lxml.objectify.pyx":1651
* typename = empty_type_name
*
* if pytype is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1658
+ /* "src/lxml/lxml.objectify.pyx":1661
* typename = pytype._schema_types[0]
*
* if annotate_xsi: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_v_annotate_xsi != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1659
+ /* "src/lxml/lxml.objectify.pyx":1662
*
* if annotate_xsi:
* if typename is None or istree: # <<<<<<<<<<<<<<
__pyx_L38_bool_binop_done:;
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1660
+ /* "src/lxml/lxml.objectify.pyx":1663
* if annotate_xsi:
* if typename is None or istree:
* cetree.delAttributeFromNsName( # <<<<<<<<<<<<<<
*/
delAttributeFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_type)));
- /* "src/lxml/lxml.objectify.pyx":1659
+ /* "src/lxml/lxml.objectify.pyx":1662
*
* if annotate_xsi:
* if typename is None or istree: # <<<<<<<<<<<<<<
goto __pyx_L37;
}
- /* "src/lxml/lxml.objectify.pyx":1664
+ /* "src/lxml/lxml.objectify.pyx":1667
* else:
* # update or create attribute
* typename_utf8 = cetree.utf8(typename) # <<<<<<<<<<<<<<
* doc, c_node, _XML_SCHEMA_NS, <unsigned char*>'xsd')
*/
/*else*/ {
- __pyx_t_6 = utf8(__pyx_v_typename); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1664; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = utf8(__pyx_v_typename); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__pyx_v_typename_utf8 = __pyx_t_6;
__pyx_t_6 = 0;
- /* "src/lxml/lxml.objectify.pyx":1665
+ /* "src/lxml/lxml.objectify.pyx":1668
* # update or create attribute
* typename_utf8 = cetree.utf8(typename)
* c_ns = cetree.findOrBuildNodeNsPrefix( # <<<<<<<<<<<<<<
*/
__pyx_v_c_ns = findOrBuildNodeNsPrefix(__pyx_v_doc, __pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_NS, ((unsigned char *)((unsigned char *)__pyx_k_xsd)));
- /* "src/lxml/lxml.objectify.pyx":1667
+ /* "src/lxml/lxml.objectify.pyx":1670
* c_ns = cetree.findOrBuildNodeNsPrefix(
* doc, c_node, _XML_SCHEMA_NS, <unsigned char*>'xsd')
* if c_ns is not NULL: # <<<<<<<<<<<<<<
__pyx_t_3 = ((__pyx_v_c_ns != NULL) != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1668
+ /* "src/lxml/lxml.objectify.pyx":1671
* doc, c_node, _XML_SCHEMA_NS, <unsigned char*>'xsd')
* if c_ns is not NULL:
* if b':' in typename_utf8: # <<<<<<<<<<<<<<
* prefix, name = typename_utf8.split(b':', 1)
* if c_ns.prefix is NULL or c_ns.prefix[0] == c'\0':
*/
- __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_kp_b__12, __pyx_v_typename_utf8, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_kp_b__12, __pyx_v_typename_utf8, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_4 = (__pyx_t_3 != 0);
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1669
+ /* "src/lxml/lxml.objectify.pyx":1672
* if c_ns is not NULL:
* if b':' in typename_utf8:
* prefix, name = typename_utf8.split(b':', 1) # <<<<<<<<<<<<<<
* if c_ns.prefix is NULL or c_ns.prefix[0] == c'\0':
* typename_utf8 = name
*/
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename_utf8, __pyx_n_s_split); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename_utf8, __pyx_n_s_split); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L42_unpacking_failed;
__Pyx_GOTREF(__pyx_t_5);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L43_unpacking_done;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L43_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_6);
__pyx_v_name = __pyx_t_5;
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1670
+ /* "src/lxml/lxml.objectify.pyx":1673
* if b':' in typename_utf8:
* prefix, name = typename_utf8.split(b':', 1)
* if c_ns.prefix is NULL or c_ns.prefix[0] == c'\0': # <<<<<<<<<<<<<<
__pyx_L45_bool_binop_done:;
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1671
+ /* "src/lxml/lxml.objectify.pyx":1674
* prefix, name = typename_utf8.split(b':', 1)
* if c_ns.prefix is NULL or c_ns.prefix[0] == c'\0':
* typename_utf8 = name # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_name);
__Pyx_DECREF_SET(__pyx_v_typename_utf8, __pyx_v_name);
- /* "src/lxml/lxml.objectify.pyx":1670
+ /* "src/lxml/lxml.objectify.pyx":1673
* if b':' in typename_utf8:
* prefix, name = typename_utf8.split(b':', 1)
* if c_ns.prefix is NULL or c_ns.prefix[0] == c'\0': # <<<<<<<<<<<<<<
goto __pyx_L44;
}
- /* "src/lxml/lxml.objectify.pyx":1672
+ /* "src/lxml/lxml.objectify.pyx":1675
* if c_ns.prefix is NULL or c_ns.prefix[0] == c'\0':
* typename_utf8 = name
* elif tree.xmlStrcmp(_xcstr(prefix), c_ns.prefix) != 0: # <<<<<<<<<<<<<<
__pyx_t_4 = ((xmlStrcmp((const xmlChar*)PyBytes_AS_STRING(__pyx_v_prefix), __pyx_v_c_ns->prefix) != 0) != 0);
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1673
+ /* "src/lxml/lxml.objectify.pyx":1676
* typename_utf8 = name
* elif tree.xmlStrcmp(_xcstr(prefix), c_ns.prefix) != 0:
* typename_utf8 = (<unsigned char*>c_ns.prefix) + b':' + name # <<<<<<<<<<<<<<
* elif c_ns.prefix is not NULL and c_ns.prefix[0] != c'\0':
* typename_utf8 = (<unsigned char*>c_ns.prefix) + b':' + typename_utf8
*/
- __pyx_t_1 = __Pyx_PyBytes_FromCString(((unsigned char *)__pyx_v_c_ns->prefix)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromCString(((unsigned char *)__pyx_v_c_ns->prefix)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_kp_b__12); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_kp_b__12); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_typename_utf8, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1672
+ /* "src/lxml/lxml.objectify.pyx":1675
* if c_ns.prefix is NULL or c_ns.prefix[0] == c'\0':
* typename_utf8 = name
* elif tree.xmlStrcmp(_xcstr(prefix), c_ns.prefix) != 0: # <<<<<<<<<<<<<<
}
__pyx_L44:;
- /* "src/lxml/lxml.objectify.pyx":1668
+ /* "src/lxml/lxml.objectify.pyx":1671
* doc, c_node, _XML_SCHEMA_NS, <unsigned char*>'xsd')
* if c_ns is not NULL:
* if b':' in typename_utf8: # <<<<<<<<<<<<<<
goto __pyx_L41;
}
- /* "src/lxml/lxml.objectify.pyx":1674
+ /* "src/lxml/lxml.objectify.pyx":1677
* elif tree.xmlStrcmp(_xcstr(prefix), c_ns.prefix) != 0:
* typename_utf8 = (<unsigned char*>c_ns.prefix) + b':' + name
* elif c_ns.prefix is not NULL and c_ns.prefix[0] != c'\0': # <<<<<<<<<<<<<<
__pyx_L47_bool_binop_done:;
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1675
+ /* "src/lxml/lxml.objectify.pyx":1678
* typename_utf8 = (<unsigned char*>c_ns.prefix) + b':' + name
* elif c_ns.prefix is not NULL and c_ns.prefix[0] != c'\0':
* typename_utf8 = (<unsigned char*>c_ns.prefix) + b':' + typename_utf8 # <<<<<<<<<<<<<<
* c_ns = cetree.findOrBuildNodeNsPrefix(
* doc, c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>'xsi')
*/
- __pyx_t_1 = __Pyx_PyBytes_FromCString(((unsigned char *)__pyx_v_c_ns->prefix)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyBytes_FromCString(((unsigned char *)__pyx_v_c_ns->prefix)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_kp_b__12); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_kp_b__12); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_v_typename_utf8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_v_typename_utf8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_typename_utf8, __pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1674
+ /* "src/lxml/lxml.objectify.pyx":1677
* elif tree.xmlStrcmp(_xcstr(prefix), c_ns.prefix) != 0:
* typename_utf8 = (<unsigned char*>c_ns.prefix) + b':' + name
* elif c_ns.prefix is not NULL and c_ns.prefix[0] != c'\0': # <<<<<<<<<<<<<<
}
__pyx_L41:;
- /* "src/lxml/lxml.objectify.pyx":1667
+ /* "src/lxml/lxml.objectify.pyx":1670
* c_ns = cetree.findOrBuildNodeNsPrefix(
* doc, c_node, _XML_SCHEMA_NS, <unsigned char*>'xsd')
* if c_ns is not NULL: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1676
+ /* "src/lxml/lxml.objectify.pyx":1679
* elif c_ns.prefix is not NULL and c_ns.prefix[0] != c'\0':
* typename_utf8 = (<unsigned char*>c_ns.prefix) + b':' + typename_utf8
* c_ns = cetree.findOrBuildNodeNsPrefix( # <<<<<<<<<<<<<<
*/
__pyx_v_c_ns = findOrBuildNodeNsPrefix(__pyx_v_doc, __pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_xsi_2)));
- /* "src/lxml/lxml.objectify.pyx":1678
+ /* "src/lxml/lxml.objectify.pyx":1681
* c_ns = cetree.findOrBuildNodeNsPrefix(
* doc, c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>'xsi')
* tree.xmlSetNsProp(c_node, c_ns, <unsigned char*>"type", _xcstr(typename_utf8)) # <<<<<<<<<<<<<<
}
__pyx_L37:;
- /* "src/lxml/lxml.objectify.pyx":1658
+ /* "src/lxml/lxml.objectify.pyx":1661
* typename = pytype._schema_types[0]
*
* if annotate_xsi: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1680
+ /* "src/lxml/lxml.objectify.pyx":1683
* tree.xmlSetNsProp(c_node, c_ns, <unsigned char*>"type", _xcstr(typename_utf8))
*
* if annotate_pytype: # <<<<<<<<<<<<<<
__pyx_t_4 = (__pyx_v_annotate_pytype != 0);
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1681
+ /* "src/lxml/lxml.objectify.pyx":1684
*
* if annotate_pytype:
* if pytype is None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_4 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1683
+ /* "src/lxml/lxml.objectify.pyx":1686
* if pytype is None:
* # delete attribute if it exists
* cetree.delAttributeFromNsName( # <<<<<<<<<<<<<<
*/
delAttributeFromNsName(__pyx_v_c_node, __pyx_v_4lxml_9objectify__PYTYPE_NAMESPACE, __pyx_v_4lxml_9objectify__PYTYPE_ATTRIBUTE_NAME);
- /* "src/lxml/lxml.objectify.pyx":1681
+ /* "src/lxml/lxml.objectify.pyx":1684
*
* if annotate_pytype:
* if pytype is None: # <<<<<<<<<<<<<<
goto __pyx_L50;
}
- /* "src/lxml/lxml.objectify.pyx":1687
+ /* "src/lxml/lxml.objectify.pyx":1690
* else:
* # update or create attribute
* c_ns = cetree.findOrBuildNodeNsPrefix( # <<<<<<<<<<<<<<
*/
/*else*/ {
- /* "src/lxml/lxml.objectify.pyx":1688
+ /* "src/lxml/lxml.objectify.pyx":1691
* # update or create attribute
* c_ns = cetree.findOrBuildNodeNsPrefix(
* doc, c_node, _PYTYPE_NAMESPACE, <unsigned char*>'py') # <<<<<<<<<<<<<<
*/
__pyx_v_c_ns = findOrBuildNodeNsPrefix(__pyx_v_doc, __pyx_v_c_node, __pyx_v_4lxml_9objectify__PYTYPE_NAMESPACE, ((unsigned char *)((unsigned char *)__pyx_k_py_2)));
- /* "src/lxml/lxml.objectify.pyx":1689
+ /* "src/lxml/lxml.objectify.pyx":1692
* c_ns = cetree.findOrBuildNodeNsPrefix(
* doc, c_node, _PYTYPE_NAMESPACE, <unsigned char*>'py')
* pytype_name = cetree.utf8(pytype.name) # <<<<<<<<<<<<<<
*/
__pyx_t_1 = __pyx_v_pytype->name;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_5 = utf8(__pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = utf8(__pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1692; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_pytype_name = ((PyObject*)__pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1690
+ /* "src/lxml/lxml.objectify.pyx":1693
* doc, c_node, _PYTYPE_NAMESPACE, <unsigned char*>'py')
* pytype_name = cetree.utf8(pytype.name)
* tree.xmlSetNsProp(c_node, c_ns, _PYTYPE_ATTRIBUTE_NAME, # <<<<<<<<<<<<<<
*/
xmlSetNsProp(__pyx_v_c_node, __pyx_v_c_ns, __pyx_v_4lxml_9objectify__PYTYPE_ATTRIBUTE_NAME, (const xmlChar*)PyBytes_AS_STRING(__pyx_v_pytype_name));
- /* "src/lxml/lxml.objectify.pyx":1692
+ /* "src/lxml/lxml.objectify.pyx":1695
* tree.xmlSetNsProp(c_node, c_ns, _PYTYPE_ATTRIBUTE_NAME,
* _xcstr(pytype_name))
* if pytype is NoneType: # <<<<<<<<<<<<<<
__pyx_t_4 = (__pyx_t_3 != 0);
if (__pyx_t_4) {
- /* "src/lxml/lxml.objectify.pyx":1693
+ /* "src/lxml/lxml.objectify.pyx":1696
* _xcstr(pytype_name))
* if pytype is NoneType:
* c_ns = cetree.findOrBuildNodeNsPrefix( # <<<<<<<<<<<<<<
*/
__pyx_v_c_ns = findOrBuildNodeNsPrefix(__pyx_v_doc, __pyx_v_c_node, __pyx_v_4lxml_9objectify__XML_SCHEMA_INSTANCE_NS, ((unsigned char *)((unsigned char *)__pyx_k_xsi_2)));
- /* "src/lxml/lxml.objectify.pyx":1695
+ /* "src/lxml/lxml.objectify.pyx":1698
* c_ns = cetree.findOrBuildNodeNsPrefix(
* doc, c_node, _XML_SCHEMA_INSTANCE_NS, <unsigned char*>'xsi')
* tree.xmlSetNsProp(c_node, c_ns, <unsigned char*>"nil", <unsigned char*>"true") # <<<<<<<<<<<<<<
*/
xmlSetNsProp(__pyx_v_c_node, __pyx_v_c_ns, ((unsigned char *)((unsigned char *)__pyx_k_nil)), ((unsigned char *)((unsigned char *)__pyx_k_true)));
- /* "src/lxml/lxml.objectify.pyx":1692
+ /* "src/lxml/lxml.objectify.pyx":1695
* tree.xmlSetNsProp(c_node, c_ns, _PYTYPE_ATTRIBUTE_NAME,
* _xcstr(pytype_name))
* if pytype is NoneType: # <<<<<<<<<<<<<<
}
__pyx_L50:;
- /* "src/lxml/lxml.objectify.pyx":1680
+ /* "src/lxml/lxml.objectify.pyx":1683
* tree.xmlSetNsProp(c_node, c_ns, <unsigned char*>"type", _xcstr(typename_utf8))
*
* if annotate_pytype: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1697
+ /* "src/lxml/lxml.objectify.pyx":1700
* tree.xmlSetNsProp(c_node, c_ns, <unsigned char*>"nil", <unsigned char*>"true")
*
* return 0 # <<<<<<<<<<<<<<
__pyx_r = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1578
+ /* "src/lxml/lxml.objectify.pyx":1581
* tree.END_FOR_EACH_ELEMENT_FROM(c_node)
*
* cdef int _annotate_element(tree.xmlNode* c_node, _Document doc, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1702
+/* "src/lxml/lxml.objectify.pyx":1705
* cdef object _cleanup_namespaces = etree.cleanup_namespaces
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True, # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "deannotate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "deannotate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
goto __pyx_L5_argtuple_error;
}
__pyx_v_element_or_tree = values[0];
if (values[1]) {
- __pyx_v_pytype = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_pytype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_pytype = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_pytype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_pytype = ((int)((int)1));
}
if (values[2]) {
- __pyx_v_xsi = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_xsi == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_xsi = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_xsi == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_xsi = ((int)((int)1));
}
if (values[3]) {
- __pyx_v_xsi_nil = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_xsi_nil == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1703; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_xsi_nil = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_xsi_nil == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
- /* "src/lxml/lxml.objectify.pyx":1703
+ /* "src/lxml/lxml.objectify.pyx":1706
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True,
* bint xsi_nil=False, bint cleanup_namespaces=False): # <<<<<<<<<<<<<<
__pyx_v_xsi_nil = ((int)((int)0));
}
if (values[4]) {
- __pyx_v_cleanup_namespaces = __Pyx_PyObject_IsTrue(values[4]); if (unlikely((__pyx_v_cleanup_namespaces == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1703; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __pyx_v_cleanup_namespaces = __Pyx_PyObject_IsTrue(values[4]); if (unlikely((__pyx_v_cleanup_namespaces == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
} else {
__pyx_v_cleanup_namespaces = ((int)((int)0));
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("deannotate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("deannotate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.deannotate", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_4lxml_9objectify_26deannotate(__pyx_self, __pyx_v_element_or_tree, __pyx_v_pytype, __pyx_v_xsi, __pyx_v_xsi_nil, __pyx_v_cleanup_namespaces);
- /* "src/lxml/lxml.objectify.pyx":1702
+ /* "src/lxml/lxml.objectify.pyx":1705
* cdef object _cleanup_namespaces = etree.cleanup_namespaces
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True, # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("deannotate", 0);
- /* "src/lxml/lxml.objectify.pyx":1719
+ /* "src/lxml/lxml.objectify.pyx":1722
* the tree, pass the option ``cleanup_namespaces=True``.
* """
* cdef list attribute_names = [] # <<<<<<<<<<<<<<
*
* if pytype:
*/
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1719; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_attribute_names = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1721
+ /* "src/lxml/lxml.objectify.pyx":1724
* cdef list attribute_names = []
*
* if pytype: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_pytype != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1722
+ /* "src/lxml/lxml.objectify.pyx":1725
*
* if pytype:
* attribute_names.append(PYTYPE_ATTRIBUTE) # <<<<<<<<<<<<<<
* if xsi:
* attribute_names.append(XML_SCHEMA_INSTANCE_TYPE_ATTR)
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_attribute_names, __pyx_t_1); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_attribute_names, __pyx_t_1); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1721
+ /* "src/lxml/lxml.objectify.pyx":1724
* cdef list attribute_names = []
*
* if pytype: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1723
+ /* "src/lxml/lxml.objectify.pyx":1726
* if pytype:
* attribute_names.append(PYTYPE_ATTRIBUTE)
* if xsi: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_xsi != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1724
+ /* "src/lxml/lxml.objectify.pyx":1727
* attribute_names.append(PYTYPE_ATTRIBUTE)
* if xsi:
* attribute_names.append(XML_SCHEMA_INSTANCE_TYPE_ATTR) # <<<<<<<<<<<<<<
*/
__pyx_t_1 = __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_TYPE_ATTR;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_attribute_names, __pyx_t_1); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_attribute_names, __pyx_t_1); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1723
+ /* "src/lxml/lxml.objectify.pyx":1726
* if pytype:
* attribute_names.append(PYTYPE_ATTRIBUTE)
* if xsi: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1725
+ /* "src/lxml/lxml.objectify.pyx":1728
* if xsi:
* attribute_names.append(XML_SCHEMA_INSTANCE_TYPE_ATTR)
* if xsi_nil: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_xsi_nil != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1726
+ /* "src/lxml/lxml.objectify.pyx":1729
* attribute_names.append(XML_SCHEMA_INSTANCE_TYPE_ATTR)
* if xsi_nil:
* attribute_names.append(XML_SCHEMA_INSTANCE_NIL_ATTR) # <<<<<<<<<<<<<<
*/
__pyx_t_1 = __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_NIL_ATTR;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_attribute_names, __pyx_t_1); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1726; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_attribute_names, __pyx_t_1); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1729; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1725
+ /* "src/lxml/lxml.objectify.pyx":1728
* if xsi:
* attribute_names.append(XML_SCHEMA_INSTANCE_TYPE_ATTR)
* if xsi_nil: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1728
+ /* "src/lxml/lxml.objectify.pyx":1731
* attribute_names.append(XML_SCHEMA_INSTANCE_NIL_ATTR)
*
* _strip_attributes(element_or_tree, *attribute_names) # <<<<<<<<<<<<<<
* if cleanup_namespaces:
* _cleanup_namespaces(element_or_tree)
*/
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_element_or_tree);
__Pyx_GIVEREF(__pyx_v_element_or_tree);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_element_or_tree);
- __pyx_t_4 = PySequence_Tuple(__pyx_v_attribute_names); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_Tuple(__pyx_v_attribute_names); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_4lxml_9objectify__strip_attributes, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_4lxml_9objectify__strip_attributes, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1729
+ /* "src/lxml/lxml.objectify.pyx":1732
*
* _strip_attributes(element_or_tree, *attribute_names)
* if cleanup_namespaces: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_v_cleanup_namespaces != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1730
+ /* "src/lxml/lxml.objectify.pyx":1733
* _strip_attributes(element_or_tree, *attribute_names)
* if cleanup_namespaces:
* _cleanup_namespaces(element_or_tree) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_1) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_element_or_tree); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_element_or_tree); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __pyx_t_1 = NULL;
__Pyx_INCREF(__pyx_v_element_or_tree);
__Pyx_GIVEREF(__pyx_v_element_or_tree);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_element_or_tree);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1729
+ /* "src/lxml/lxml.objectify.pyx":1732
*
* _strip_attributes(element_or_tree, *attribute_names)
* if cleanup_namespaces: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1702
+ /* "src/lxml/lxml.objectify.pyx":1705
* cdef object _cleanup_namespaces = etree.cleanup_namespaces
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True, # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1742
+/* "src/lxml/lxml.objectify.pyx":1745
* objectify_parser = __DEFAULT_PARSER
*
* def set_default_parser(new_parser = None): # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_default_parser") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_default_parser") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("set_default_parser", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("set_default_parser", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.set_default_parser", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set_default_parser", 0);
- /* "src/lxml/lxml.objectify.pyx":1753
+ /* "src/lxml/lxml.objectify.pyx":1756
* """
* global objectify_parser
* if new_parser is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1754
+ /* "src/lxml/lxml.objectify.pyx":1757
* global objectify_parser
* if new_parser is None:
* objectify_parser = __DEFAULT_PARSER # <<<<<<<<<<<<<<
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify_objectify_parser, __pyx_v_4lxml_9objectify___DEFAULT_PARSER);
__Pyx_GIVEREF(__pyx_v_4lxml_9objectify___DEFAULT_PARSER);
- /* "src/lxml/lxml.objectify.pyx":1753
+ /* "src/lxml/lxml.objectify.pyx":1756
* """
* global objectify_parser
* if new_parser is None: # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/lxml.objectify.pyx":1755
+ /* "src/lxml/lxml.objectify.pyx":1758
* if new_parser is None:
* objectify_parser = __DEFAULT_PARSER
* elif isinstance(new_parser, etree.XMLParser): # <<<<<<<<<<<<<<
* objectify_parser = new_parser
* else:
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_XMLParser); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_XMLParser); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1758; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyObject_IsInstance(__pyx_v_new_parser, __pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_IsInstance(__pyx_v_new_parser, __pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1758; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1756
+ /* "src/lxml/lxml.objectify.pyx":1759
* objectify_parser = __DEFAULT_PARSER
* elif isinstance(new_parser, etree.XMLParser):
* objectify_parser = new_parser # <<<<<<<<<<<<<<
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify_objectify_parser, __pyx_v_new_parser);
__Pyx_GIVEREF(__pyx_v_new_parser);
- /* "src/lxml/lxml.objectify.pyx":1755
+ /* "src/lxml/lxml.objectify.pyx":1758
* if new_parser is None:
* objectify_parser = __DEFAULT_PARSER
* elif isinstance(new_parser, etree.XMLParser): # <<<<<<<<<<<<<<
goto __pyx_L3;
}
- /* "src/lxml/lxml.objectify.pyx":1758
+ /* "src/lxml/lxml.objectify.pyx":1761
* objectify_parser = new_parser
* else:
* raise TypeError, u"parser must inherit from lxml.etree.XMLParser" # <<<<<<<<<<<<<<
*/
/*else*/ {
__Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_u_parser_must_inherit_from_lxml_et, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1758; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__pyx_L3:;
- /* "src/lxml/lxml.objectify.pyx":1742
+ /* "src/lxml/lxml.objectify.pyx":1745
* objectify_parser = __DEFAULT_PARSER
*
* def set_default_parser(new_parser = None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1760
+/* "src/lxml/lxml.objectify.pyx":1763
* raise TypeError, u"parser must inherit from lxml.etree.XMLParser"
*
* def makeparser(**kw): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("makeparser", 0);
- /* "src/lxml/lxml.objectify.pyx":1770
+ /* "src/lxml/lxml.objectify.pyx":1773
* ``remove_blank_text`` boolean keyword option yourself.
* """
* if 'remove_blank_text' not in kw: # <<<<<<<<<<<<<<
* kw['remove_blank_text'] = True
* parser = etree.XMLParser(**kw)
*/
- __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_remove_blank_text, __pyx_v_kw, Py_NE)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_remove_blank_text, __pyx_v_kw, Py_NE)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1771
+ /* "src/lxml/lxml.objectify.pyx":1774
* """
* if 'remove_blank_text' not in kw:
* kw['remove_blank_text'] = True # <<<<<<<<<<<<<<
* parser = etree.XMLParser(**kw)
* parser.set_element_class_lookup( ObjectifyElementClassLookup() )
*/
- if (unlikely(PyDict_SetItem(__pyx_v_kw, __pyx_n_s_remove_blank_text, Py_True) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyDict_SetItem(__pyx_v_kw, __pyx_n_s_remove_blank_text, Py_True) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1770
+ /* "src/lxml/lxml.objectify.pyx":1773
* ``remove_blank_text`` boolean keyword option yourself.
* """
* if 'remove_blank_text' not in kw: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1772
+ /* "src/lxml/lxml.objectify.pyx":1775
* if 'remove_blank_text' not in kw:
* kw['remove_blank_text'] = True
* parser = etree.XMLParser(**kw) # <<<<<<<<<<<<<<
* parser.set_element_class_lookup( ObjectifyElementClassLookup() )
* return parser
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_XMLParser); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_XMLParser); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_v_kw); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_v_kw); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_parser = __pyx_t_4;
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1773
+ /* "src/lxml/lxml.objectify.pyx":1776
* kw['remove_blank_text'] = True
* parser = etree.XMLParser(**kw)
* parser.set_element_class_lookup( ObjectifyElementClassLookup() ) # <<<<<<<<<<<<<<
* return parser
*
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_set_element_class_lookup); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parser, __pyx_n_s_set_element_class_lookup); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifyElementClassLookup), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifyElementClassLookup), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
}
}
if (!__pyx_t_6) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_4);
} else {
- __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
__pyx_t_5 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1774
+ /* "src/lxml/lxml.objectify.pyx":1777
* parser = etree.XMLParser(**kw)
* parser.set_element_class_lookup( ObjectifyElementClassLookup() )
* return parser # <<<<<<<<<<<<<<
__pyx_r = __pyx_v_parser;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1760
+ /* "src/lxml/lxml.objectify.pyx":1763
* raise TypeError, u"parser must inherit from lxml.etree.XMLParser"
*
* def makeparser(**kw): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1776
+/* "src/lxml/lxml.objectify.pyx":1779
* return parser
*
* cdef _Element _makeElement(tag, text, attrib, nsmap): # <<<<<<<<<<<<<<
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("_makeElement", 0);
- /* "src/lxml/lxml.objectify.pyx":1777
+ /* "src/lxml/lxml.objectify.pyx":1780
*
* cdef _Element _makeElement(tag, text, attrib, nsmap):
* return cetree.makeElement(tag, None, objectify_parser, text, None, attrib, nsmap) # <<<<<<<<<<<<<<
__Pyx_XDECREF(((PyObject *)__pyx_r));
__pyx_t_1 = __pyx_v_4lxml_9objectify_objectify_parser;
__Pyx_INCREF(__pyx_t_1);
- __pyx_t_2 = ((PyObject *)makeElement(__pyx_v_tag, ((struct LxmlDocument *)Py_None), __pyx_t_1, __pyx_v_text, Py_None, __pyx_v_attrib, __pyx_v_nsmap)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = ((PyObject *)makeElement(__pyx_v_tag, ((struct LxmlDocument *)Py_None), __pyx_t_1, __pyx_v_text, Py_None, __pyx_v_attrib, __pyx_v_nsmap)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = ((struct LxmlElement *)__pyx_t_2);
__pyx_t_2 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1776
+ /* "src/lxml/lxml.objectify.pyx":1779
* return parser
*
* cdef _Element _makeElement(tag, text, attrib, nsmap): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1787
+/* "src/lxml/lxml.objectify.pyx":1790
* SubElement = etree.SubElement
*
* def fromstring(xml, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
if (value) { values[index] = value; kw_args--; }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fromstring") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fromstring") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("fromstring", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("fromstring", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.fromstring", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__Pyx_RefNannySetupContext("fromstring", 0);
__Pyx_INCREF(__pyx_v_parser);
- /* "src/lxml/lxml.objectify.pyx":1799
+ /* "src/lxml/lxml.objectify.pyx":1802
* (DTD, XInclude, ...).
* """
* if parser is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1800
+ /* "src/lxml/lxml.objectify.pyx":1803
* """
* if parser is None:
* parser = objectify_parser # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_4lxml_9objectify_objectify_parser);
__Pyx_DECREF_SET(__pyx_v_parser, __pyx_v_4lxml_9objectify_objectify_parser);
- /* "src/lxml/lxml.objectify.pyx":1799
+ /* "src/lxml/lxml.objectify.pyx":1802
* (DTD, XInclude, ...).
* """
* if parser is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1801
+ /* "src/lxml/lxml.objectify.pyx":1804
* if parser is None:
* parser = objectify_parser
* return _fromstring(xml, parser, base_url=base_url) # <<<<<<<<<<<<<<
* def XML(xml, parser=None, *, base_url=None):
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_xml);
__Pyx_GIVEREF(__pyx_v_xml);
__Pyx_INCREF(__pyx_v_parser);
__Pyx_GIVEREF(__pyx_v_parser);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_parser);
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, __pyx_v_base_url) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_4lxml_9objectify__fromstring, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, __pyx_v_base_url) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_4lxml_9objectify__fromstring, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1787
+ /* "src/lxml/lxml.objectify.pyx":1790
* SubElement = etree.SubElement
*
* def fromstring(xml, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1803
+/* "src/lxml/lxml.objectify.pyx":1806
* return _fromstring(xml, parser, base_url=base_url)
*
* def XML(xml, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
if (value) { values[index] = value; kw_args--; }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "XML") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "XML") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("XML", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("XML", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.XML", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__Pyx_RefNannySetupContext("XML", 0);
__Pyx_INCREF(__pyx_v_parser);
- /* "src/lxml/lxml.objectify.pyx":1815
+ /* "src/lxml/lxml.objectify.pyx":1818
* (DTD, XInclude, ...).
* """
* if parser is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1816
+ /* "src/lxml/lxml.objectify.pyx":1819
* """
* if parser is None:
* parser = objectify_parser # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_4lxml_9objectify_objectify_parser);
__Pyx_DECREF_SET(__pyx_v_parser, __pyx_v_4lxml_9objectify_objectify_parser);
- /* "src/lxml/lxml.objectify.pyx":1815
+ /* "src/lxml/lxml.objectify.pyx":1818
* (DTD, XInclude, ...).
* """
* if parser is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1817
+ /* "src/lxml/lxml.objectify.pyx":1820
* if parser is None:
* parser = objectify_parser
* return _fromstring(xml, parser, base_url=base_url) # <<<<<<<<<<<<<<
* cdef object _parse
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_xml);
__Pyx_GIVEREF(__pyx_v_xml);
__Pyx_INCREF(__pyx_v_parser);
__Pyx_GIVEREF(__pyx_v_parser);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_parser);
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, __pyx_v_base_url) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_4lxml_9objectify__fromstring, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, __pyx_v_base_url) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_4lxml_9objectify__fromstring, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1803
+ /* "src/lxml/lxml.objectify.pyx":1806
* return _fromstring(xml, parser, base_url=base_url)
*
* def XML(xml, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1822
+/* "src/lxml/lxml.objectify.pyx":1825
* _parse = etree.parse
*
* def parse(f, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
if (value) { values[index] = value; kw_args--; }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "parse") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "parse") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("parse", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("parse", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("lxml.objectify.parse", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
__Pyx_RefNannySetupContext("parse", 0);
__Pyx_INCREF(__pyx_v_parser);
- /* "src/lxml/lxml.objectify.pyx":1833
+ /* "src/lxml/lxml.objectify.pyx":1836
* up external entities (DTD, XInclude, ...) with relative paths.
* """
* if parser is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1834
+ /* "src/lxml/lxml.objectify.pyx":1837
* """
* if parser is None:
* parser = objectify_parser # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_4lxml_9objectify_objectify_parser);
__Pyx_DECREF_SET(__pyx_v_parser, __pyx_v_4lxml_9objectify_objectify_parser);
- /* "src/lxml/lxml.objectify.pyx":1833
+ /* "src/lxml/lxml.objectify.pyx":1836
* up external entities (DTD, XInclude, ...) with relative paths.
* """
* if parser is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1835
+ /* "src/lxml/lxml.objectify.pyx":1838
* if parser is None:
* parser = objectify_parser
* return _parse(f, parser, base_url=base_url) # <<<<<<<<<<<<<<
* cdef dict _DEFAULT_NSMAP = {
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_f);
__Pyx_GIVEREF(__pyx_v_f);
__Pyx_INCREF(__pyx_v_parser);
__Pyx_GIVEREF(__pyx_v_parser);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_parser);
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, __pyx_v_base_url) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_4lxml_9objectify__parse, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, __pyx_v_base_url) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_4lxml_9objectify__parse, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1822
+ /* "src/lxml/lxml.objectify.pyx":1825
* _parse = etree.parse
*
* def parse(f, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1845
+/* "src/lxml/lxml.objectify.pyx":1848
* E = ElementMaker()
*
* def Element(_tag, attrib=None, nsmap=None, *, _pytype=None, **_attributes): # <<<<<<<<<<<<<<
if (value) { values[index] = value; kw_args--; }
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v__attributes, values, pos_args, "Element") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v__attributes, values, pos_args, "Element") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("Element", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("Element", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v__attributes); __pyx_v__attributes = 0;
__Pyx_AddTraceback("lxml.objectify.Element", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_INCREF(__pyx_v__pytype);
__Pyx_INCREF(__pyx_v__attributes);
- /* "src/lxml/lxml.objectify.pyx":1853
+ /* "src/lxml/lxml.objectify.pyx":1856
* NOTE: requires parser based element class lookup activated in lxml.etree!
* """
* if attrib is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1854
+ /* "src/lxml/lxml.objectify.pyx":1857
* """
* if attrib is not None:
* if _attributes: # <<<<<<<<<<<<<<
* attrib = dict(attrib)
* attrib.update(_attributes)
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v__attributes); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v__attributes); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1857; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1855
+ /* "src/lxml/lxml.objectify.pyx":1858
* if attrib is not None:
* if _attributes:
* attrib = dict(attrib) # <<<<<<<<<<<<<<
* attrib.update(_attributes)
* _attributes = attrib
*/
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1855; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1858; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_attrib);
__Pyx_GIVEREF(__pyx_v_attrib);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_attrib);
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1855; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1858; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_attrib, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1856
+ /* "src/lxml/lxml.objectify.pyx":1859
* if _attributes:
* attrib = dict(attrib)
* attrib.update(_attributes) # <<<<<<<<<<<<<<
* _attributes = attrib
* if _pytype is None:
*/
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_update); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_update); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
}
}
if (!__pyx_t_5) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v__attributes); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v__attributes); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_INCREF(__pyx_v__attributes);
__Pyx_GIVEREF(__pyx_v__attributes);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v__attributes);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1854
+ /* "src/lxml/lxml.objectify.pyx":1857
* """
* if attrib is not None:
* if _attributes: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1857
+ /* "src/lxml/lxml.objectify.pyx":1860
* attrib = dict(attrib)
* attrib.update(_attributes)
* _attributes = attrib # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_attrib);
__Pyx_DECREF_SET(__pyx_v__attributes, __pyx_v_attrib);
- /* "src/lxml/lxml.objectify.pyx":1853
+ /* "src/lxml/lxml.objectify.pyx":1856
* NOTE: requires parser based element class lookup activated in lxml.etree!
* """
* if attrib is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1858
+ /* "src/lxml/lxml.objectify.pyx":1861
* attrib.update(_attributes)
* _attributes = attrib
* if _pytype is None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1859
+ /* "src/lxml/lxml.objectify.pyx":1862
* _attributes = attrib
* if _pytype is None:
* _pytype = TREE_PYTYPE_NAME # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME);
__Pyx_DECREF_SET(__pyx_v__pytype, __pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME);
- /* "src/lxml/lxml.objectify.pyx":1858
+ /* "src/lxml/lxml.objectify.pyx":1861
* attrib.update(_attributes)
* _attributes = attrib
* if _pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1860
+ /* "src/lxml/lxml.objectify.pyx":1863
* if _pytype is None:
* _pytype = TREE_PYTYPE_NAME
* if nsmap is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1861
+ /* "src/lxml/lxml.objectify.pyx":1864
* _pytype = TREE_PYTYPE_NAME
* if nsmap is None:
* nsmap = _DEFAULT_NSMAP # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_4lxml_9objectify__DEFAULT_NSMAP);
__Pyx_DECREF_SET(__pyx_v_nsmap, __pyx_v_4lxml_9objectify__DEFAULT_NSMAP);
- /* "src/lxml/lxml.objectify.pyx":1860
+ /* "src/lxml/lxml.objectify.pyx":1863
* if _pytype is None:
* _pytype = TREE_PYTYPE_NAME
* if nsmap is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1862
+ /* "src/lxml/lxml.objectify.pyx":1865
* if nsmap is None:
* nsmap = _DEFAULT_NSMAP
* _attributes[PYTYPE_ATTRIBUTE] = _pytype # <<<<<<<<<<<<<<
* return _makeElement(_tag, None, _attributes, nsmap)
*
*/
- __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (unlikely(PyObject_SetItem(__pyx_v__attributes, __pyx_t_4, __pyx_v__pytype) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyObject_SetItem(__pyx_v__attributes, __pyx_t_4, __pyx_v__pytype) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1863
+ /* "src/lxml/lxml.objectify.pyx":1866
* nsmap = _DEFAULT_NSMAP
* _attributes[PYTYPE_ATTRIBUTE] = _pytype
* return _makeElement(_tag, None, _attributes, nsmap) # <<<<<<<<<<<<<<
* def DataElement(_value, attrib=None, nsmap=None, *, _pytype=None, _xsi=None,
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = ((PyObject *)__pyx_f_4lxml_9objectify__makeElement(__pyx_v__tag, Py_None, __pyx_v__attributes, __pyx_v_nsmap)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1863; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = ((PyObject *)__pyx_f_4lxml_9objectify__makeElement(__pyx_v__tag, Py_None, __pyx_v__attributes, __pyx_v_nsmap)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1866; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1845
+ /* "src/lxml/lxml.objectify.pyx":1848
* E = ElementMaker()
*
* def Element(_tag, attrib=None, nsmap=None, *, _pytype=None, **_attributes): # <<<<<<<<<<<<<<
return __pyx_r;
}
-/* "src/lxml/lxml.objectify.pyx":1865
+/* "src/lxml/lxml.objectify.pyx":1868
* return _makeElement(_tag, None, _attributes, nsmap)
*
* def DataElement(_value, attrib=None, nsmap=None, *, _pytype=None, _xsi=None, # <<<<<<<<<<<<<<
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v__attributes, values, pos_args, "DataElement") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v__attributes, values, pos_args, "DataElement") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("DataElement", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("DataElement", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v__attributes); __pyx_v__attributes = 0;
__Pyx_AddTraceback("lxml.objectify.DataElement", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_INCREF(__pyx_v__xsi);
__Pyx_INCREF(__pyx_v__attributes);
- /* "src/lxml/lxml.objectify.pyx":1880
+ /* "src/lxml/lxml.objectify.pyx":1883
* in attrib and/or keyword arguments.
* """
* if nsmap is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1881
+ /* "src/lxml/lxml.objectify.pyx":1884
* """
* if nsmap is None:
* nsmap = _DEFAULT_NSMAP # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_4lxml_9objectify__DEFAULT_NSMAP);
__Pyx_DECREF_SET(__pyx_v_nsmap, __pyx_v_4lxml_9objectify__DEFAULT_NSMAP);
- /* "src/lxml/lxml.objectify.pyx":1880
+ /* "src/lxml/lxml.objectify.pyx":1883
* in attrib and/or keyword arguments.
* """
* if nsmap is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1882
+ /* "src/lxml/lxml.objectify.pyx":1885
* if nsmap is None:
* nsmap = _DEFAULT_NSMAP
* if attrib is not None and attrib: # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_t_3;
goto __pyx_L5_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_attrib); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_attrib); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = __pyx_t_3;
__pyx_L5_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1883
+ /* "src/lxml/lxml.objectify.pyx":1886
* nsmap = _DEFAULT_NSMAP
* if attrib is not None and attrib:
* if _attributes: # <<<<<<<<<<<<<<
* attrib = dict(attrib)
* attrib.update(_attributes)
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v__attributes); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1883; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v__attributes); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1884
+ /* "src/lxml/lxml.objectify.pyx":1887
* if attrib is not None and attrib:
* if _attributes:
* attrib = dict(attrib) # <<<<<<<<<<<<<<
* attrib.update(_attributes)
* _attributes = attrib
*/
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_attrib);
__Pyx_GIVEREF(__pyx_v_attrib);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attrib);
- __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_attrib, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1885
+ /* "src/lxml/lxml.objectify.pyx":1888
* if _attributes:
* attrib = dict(attrib)
* attrib.update(_attributes) # <<<<<<<<<<<<<<
* _attributes = attrib
* if isinstance(_value, ObjectifiedElement):
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_update); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_update); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
}
}
if (!__pyx_t_6) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v__attributes); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v__attributes); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
} else {
- __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_INCREF(__pyx_v__attributes);
__Pyx_GIVEREF(__pyx_v__attributes);
PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v__attributes);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1885; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1883
+ /* "src/lxml/lxml.objectify.pyx":1886
* nsmap = _DEFAULT_NSMAP
* if attrib is not None and attrib:
* if _attributes: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1886
+ /* "src/lxml/lxml.objectify.pyx":1889
* attrib = dict(attrib)
* attrib.update(_attributes)
* _attributes = attrib # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_attrib);
__Pyx_DECREF_SET(__pyx_v__attributes, __pyx_v_attrib);
- /* "src/lxml/lxml.objectify.pyx":1882
+ /* "src/lxml/lxml.objectify.pyx":1885
* if nsmap is None:
* nsmap = _DEFAULT_NSMAP
* if attrib is not None and attrib: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1887
+ /* "src/lxml/lxml.objectify.pyx":1890
* attrib.update(_attributes)
* _attributes = attrib
* if isinstance(_value, ObjectifiedElement): # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1888
+ /* "src/lxml/lxml.objectify.pyx":1891
* _attributes = attrib
* if isinstance(_value, ObjectifiedElement):
* if _pytype is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1889
+ /* "src/lxml/lxml.objectify.pyx":1892
* if isinstance(_value, ObjectifiedElement):
* if _pytype is None:
* if _xsi is None and not _attributes and nsmap is _DEFAULT_NSMAP: # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_t_1;
goto __pyx_L11_bool_binop_done;
}
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v__attributes); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1889; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v__attributes); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_3 = ((!__pyx_t_1) != 0);
if (__pyx_t_3) {
} else {
__pyx_L11_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1891
+ /* "src/lxml/lxml.objectify.pyx":1894
* if _xsi is None and not _attributes and nsmap is _DEFAULT_NSMAP:
* # special case: no change!
* return _value.__copy__() # <<<<<<<<<<<<<<
* # reuse existing nsmap unless redefined in nsmap parameter
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v__value, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v__value, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
}
}
if (__pyx_t_7) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else {
- __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_5 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1889
+ /* "src/lxml/lxml.objectify.pyx":1892
* if isinstance(_value, ObjectifiedElement):
* if _pytype is None:
* if _xsi is None and not _attributes and nsmap is _DEFAULT_NSMAP: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1888
+ /* "src/lxml/lxml.objectify.pyx":1891
* _attributes = attrib
* if isinstance(_value, ObjectifiedElement):
* if _pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1887
+ /* "src/lxml/lxml.objectify.pyx":1890
* attrib.update(_attributes)
* _attributes = attrib
* if isinstance(_value, ObjectifiedElement): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1892
+ /* "src/lxml/lxml.objectify.pyx":1895
* # special case: no change!
* return _value.__copy__()
* if isinstance(_value, ObjectifiedDataElement): # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1894
+ /* "src/lxml/lxml.objectify.pyx":1897
* if isinstance(_value, ObjectifiedDataElement):
* # reuse existing nsmap unless redefined in nsmap parameter
* temp = _value.nsmap # <<<<<<<<<<<<<<
* if temp is not None and temp:
* temp = dict(temp)
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v__value, __pyx_n_s_nsmap); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v__value, __pyx_n_s_nsmap); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_temp = __pyx_t_5;
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1895
+ /* "src/lxml/lxml.objectify.pyx":1898
* # reuse existing nsmap unless redefined in nsmap parameter
* temp = _value.nsmap
* if temp is not None and temp: # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_t_3;
goto __pyx_L16_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_temp); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_temp); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = __pyx_t_3;
__pyx_L16_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1896
+ /* "src/lxml/lxml.objectify.pyx":1899
* temp = _value.nsmap
* if temp is not None and temp:
* temp = dict(temp) # <<<<<<<<<<<<<<
* temp.update(nsmap)
* nsmap = temp
*/
- __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_temp);
__Pyx_GIVEREF(__pyx_v_temp);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_temp);
- __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_temp, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1897
+ /* "src/lxml/lxml.objectify.pyx":1900
* if temp is not None and temp:
* temp = dict(temp)
* temp.update(nsmap) # <<<<<<<<<<<<<<
* nsmap = temp
* # reuse existing attributes unless redefined in attrib/_attributes
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_temp, __pyx_n_s_update); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_temp, __pyx_n_s_update); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
}
}
if (!__pyx_t_7) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_nsmap); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_nsmap); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL;
__Pyx_INCREF(__pyx_v_nsmap);
__Pyx_GIVEREF(__pyx_v_nsmap);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_nsmap);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1898
+ /* "src/lxml/lxml.objectify.pyx":1901
* temp = dict(temp)
* temp.update(nsmap)
* nsmap = temp # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_temp);
__Pyx_DECREF_SET(__pyx_v_nsmap, __pyx_v_temp);
- /* "src/lxml/lxml.objectify.pyx":1895
+ /* "src/lxml/lxml.objectify.pyx":1898
* # reuse existing nsmap unless redefined in nsmap parameter
* temp = _value.nsmap
* if temp is not None and temp: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1900
+ /* "src/lxml/lxml.objectify.pyx":1903
* nsmap = temp
* # reuse existing attributes unless redefined in attrib/_attributes
* temp = _value.attrib # <<<<<<<<<<<<<<
* if temp is not None and temp:
* temp = dict(temp)
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v__value, __pyx_n_s_attrib); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v__value, __pyx_n_s_attrib); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v_temp, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1901
+ /* "src/lxml/lxml.objectify.pyx":1904
* # reuse existing attributes unless redefined in attrib/_attributes
* temp = _value.attrib
* if temp is not None and temp: # <<<<<<<<<<<<<<
__pyx_t_1 = __pyx_t_2;
goto __pyx_L19_bool_binop_done;
}
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_temp); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1901; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_temp); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = __pyx_t_2;
__pyx_L19_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1902
+ /* "src/lxml/lxml.objectify.pyx":1905
* temp = _value.attrib
* if temp is not None and temp:
* temp = dict(temp) # <<<<<<<<<<<<<<
* temp.update(_attributes)
* _attributes = temp
*/
- __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1902; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_temp);
__Pyx_GIVEREF(__pyx_v_temp);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_temp);
- __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1902; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&PyDict_Type)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_temp, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1903
+ /* "src/lxml/lxml.objectify.pyx":1906
* if temp is not None and temp:
* temp = dict(temp)
* temp.update(_attributes) # <<<<<<<<<<<<<<
* _attributes = temp
* # reuse existing xsi:type or py:pytype attributes, unless provided as
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_temp, __pyx_n_s_update); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_temp, __pyx_n_s_update); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
}
}
if (!__pyx_t_6) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v__attributes); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v__attributes); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
} else {
- __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_INCREF(__pyx_v__attributes);
__Pyx_GIVEREF(__pyx_v__attributes);
PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v__attributes);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1904
+ /* "src/lxml/lxml.objectify.pyx":1907
* temp = dict(temp)
* temp.update(_attributes)
* _attributes = temp # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v_temp);
__Pyx_DECREF_SET(__pyx_v__attributes, __pyx_v_temp);
- /* "src/lxml/lxml.objectify.pyx":1901
+ /* "src/lxml/lxml.objectify.pyx":1904
* # reuse existing attributes unless redefined in attrib/_attributes
* temp = _value.attrib
* if temp is not None and temp: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1907
+ /* "src/lxml/lxml.objectify.pyx":1910
* # reuse existing xsi:type or py:pytype attributes, unless provided as
* # arguments
* if _xsi is None and _pytype is None: # <<<<<<<<<<<<<<
__pyx_L22_bool_binop_done:;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1908
+ /* "src/lxml/lxml.objectify.pyx":1911
* # arguments
* if _xsi is None and _pytype is None:
* _xsi = _attributes.get(XML_SCHEMA_INSTANCE_TYPE_ATTR) # <<<<<<<<<<<<<<
* _pytype = _attributes.get(PYTYPE_ATTRIBUTE)
*
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v__attributes, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v__attributes, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
}
}
if (!__pyx_t_7) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_TYPE_ATTR); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_TYPE_ATTR); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL;
__Pyx_INCREF(__pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_TYPE_ATTR);
__Pyx_GIVEREF(__pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_TYPE_ATTR);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_TYPE_ATTR);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF_SET(__pyx_v__xsi, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1909
+ /* "src/lxml/lxml.objectify.pyx":1912
* if _xsi is None and _pytype is None:
* _xsi = _attributes.get(XML_SCHEMA_INSTANCE_TYPE_ATTR)
* _pytype = _attributes.get(PYTYPE_ATTRIBUTE) # <<<<<<<<<<<<<<
*
* if _xsi is not None:
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v__attributes, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v__attributes, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
}
}
if (!__pyx_t_7) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else {
- __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL;
__Pyx_GIVEREF(__pyx_t_6);
PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_6);
__pyx_t_6 = 0;
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF_SET(__pyx_v__pytype, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1907
+ /* "src/lxml/lxml.objectify.pyx":1910
* # reuse existing xsi:type or py:pytype attributes, unless provided as
* # arguments
* if _xsi is None and _pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1892
+ /* "src/lxml/lxml.objectify.pyx":1895
* # special case: no change!
* return _value.__copy__()
* if isinstance(_value, ObjectifiedDataElement): # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1911
+ /* "src/lxml/lxml.objectify.pyx":1914
* _pytype = _attributes.get(PYTYPE_ATTRIBUTE)
*
* if _xsi is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1912
+ /* "src/lxml/lxml.objectify.pyx":1915
*
* if _xsi is not None:
* if u':' in _xsi: # <<<<<<<<<<<<<<
* prefix, name = _xsi.split(u':', 1)
* ns = nsmap.get(prefix)
*/
- __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__12, __pyx_v__xsi, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_kp_u__12, __pyx_v__xsi, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1913
+ /* "src/lxml/lxml.objectify.pyx":1916
* if _xsi is not None:
* if u':' in _xsi:
* prefix, name = _xsi.split(u':', 1) # <<<<<<<<<<<<<<
* ns = nsmap.get(prefix)
* if ns != XML_SCHEMA_NS:
*/
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v__xsi, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v__xsi, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_8);
#else
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
- __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_6)->tp_iternext;
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_8 = __pyx_t_9(__pyx_t_6); if (unlikely(!__pyx_t_8)) goto __pyx_L26_unpacking_failed;
__Pyx_GOTREF(__pyx_t_8);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
goto __pyx_L27_unpacking_done;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L27_unpacking_done:;
}
__pyx_v_prefix = __pyx_t_5;
__pyx_v_name = __pyx_t_8;
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1914
+ /* "src/lxml/lxml.objectify.pyx":1917
* if u':' in _xsi:
* prefix, name = _xsi.split(u':', 1)
* ns = nsmap.get(prefix) # <<<<<<<<<<<<<<
* if ns != XML_SCHEMA_NS:
* raise ValueError, u"XSD types require the XSD namespace"
*/
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_nsmap, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_nsmap, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_5 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
}
}
if (!__pyx_t_5) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_prefix); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_prefix); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_INCREF(__pyx_v_prefix);
__Pyx_GIVEREF(__pyx_v_prefix);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_prefix);
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_v_ns = __pyx_t_4;
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1915
+ /* "src/lxml/lxml.objectify.pyx":1918
* prefix, name = _xsi.split(u':', 1)
* ns = nsmap.get(prefix)
* if ns != XML_SCHEMA_NS: # <<<<<<<<<<<<<<
* raise ValueError, u"XSD types require the XSD namespace"
* elif nsmap is _DEFAULT_NSMAP:
*/
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_ns, __pyx_v_4lxml_9objectify_XML_SCHEMA_NS, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1915; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_ns, __pyx_v_4lxml_9objectify_XML_SCHEMA_NS, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1916
+ /* "src/lxml/lxml.objectify.pyx":1919
* ns = nsmap.get(prefix)
* if ns != XML_SCHEMA_NS:
* raise ValueError, u"XSD types require the XSD namespace" # <<<<<<<<<<<<<<
* name = _xsi
*/
__Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_u_XSD_types_require_the_XSD_namesp, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1919; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1915
+ /* "src/lxml/lxml.objectify.pyx":1918
* prefix, name = _xsi.split(u':', 1)
* ns = nsmap.get(prefix)
* if ns != XML_SCHEMA_NS: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1912
+ /* "src/lxml/lxml.objectify.pyx":1915
*
* if _xsi is not None:
* if u':' in _xsi: # <<<<<<<<<<<<<<
goto __pyx_L25;
}
- /* "src/lxml/lxml.objectify.pyx":1917
+ /* "src/lxml/lxml.objectify.pyx":1920
* if ns != XML_SCHEMA_NS:
* raise ValueError, u"XSD types require the XSD namespace"
* elif nsmap is _DEFAULT_NSMAP: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1918
+ /* "src/lxml/lxml.objectify.pyx":1921
* raise ValueError, u"XSD types require the XSD namespace"
* elif nsmap is _DEFAULT_NSMAP:
* name = _xsi # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v__xsi);
__pyx_v_name = __pyx_v__xsi;
- /* "src/lxml/lxml.objectify.pyx":1919
+ /* "src/lxml/lxml.objectify.pyx":1922
* elif nsmap is _DEFAULT_NSMAP:
* name = _xsi
* _xsi = u'xsd:' + _xsi # <<<<<<<<<<<<<<
* else:
* name = _xsi
*/
- __pyx_t_4 = PyNumber_Add(__pyx_kp_u_xsd_2, __pyx_v__xsi); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1919; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyNumber_Add(__pyx_kp_u_xsd_2, __pyx_v__xsi); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF_SET(__pyx_v__xsi, __pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1917
+ /* "src/lxml/lxml.objectify.pyx":1920
* if ns != XML_SCHEMA_NS:
* raise ValueError, u"XSD types require the XSD namespace"
* elif nsmap is _DEFAULT_NSMAP: # <<<<<<<<<<<<<<
goto __pyx_L25;
}
- /* "src/lxml/lxml.objectify.pyx":1921
+ /* "src/lxml/lxml.objectify.pyx":1924
* _xsi = u'xsd:' + _xsi
* else:
* name = _xsi # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v__xsi);
__pyx_v_name = __pyx_v__xsi;
- /* "src/lxml/lxml.objectify.pyx":1922
+ /* "src/lxml/lxml.objectify.pyx":1925
* else:
* name = _xsi
* for prefix, ns in nsmap.items(): # <<<<<<<<<<<<<<
* if ns == XML_SCHEMA_NS:
* if prefix is not None and prefix:
*/
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_nsmap, __pyx_n_s_items); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_nsmap, __pyx_n_s_items); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_6 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
}
}
if (__pyx_t_6) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
- __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __pyx_t_4; __Pyx_INCREF(__pyx_t_8); __pyx_t_10 = 0;
__pyx_t_11 = NULL;
} else {
- __pyx_t_10 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_10 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_11 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_11 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
if (likely(PyList_CheckExact(__pyx_t_8))) {
if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_COMPILING_IN_CPYTHON
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
#else
- __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
#endif
}
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
- else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
break;
}
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
#if CYTHON_COMPILING_IN_CPYTHON
if (likely(PyTuple_CheckExact(sequence))) {
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
#else
- __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
- __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
#endif
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else {
Py_ssize_t index = -1;
- __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_7)->tp_iternext;
__Pyx_GOTREF(__pyx_t_6);
index = 1; __pyx_t_5 = __pyx_t_9(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L31_unpacking_failed;
__Pyx_GOTREF(__pyx_t_5);
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L32_unpacking_done;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_L32_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1923
+ /* "src/lxml/lxml.objectify.pyx":1926
* name = _xsi
* for prefix, ns in nsmap.items():
* if ns == XML_SCHEMA_NS: # <<<<<<<<<<<<<<
* if prefix is not None and prefix:
* _xsi = prefix + u':' + _xsi
*/
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_ns, __pyx_v_4lxml_9objectify_XML_SCHEMA_NS, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_ns, __pyx_v_4lxml_9objectify_XML_SCHEMA_NS, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1924
+ /* "src/lxml/lxml.objectify.pyx":1927
* for prefix, ns in nsmap.items():
* if ns == XML_SCHEMA_NS:
* if prefix is not None and prefix: # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_t_3;
goto __pyx_L35_bool_binop_done;
}
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_prefix); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_prefix); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = __pyx_t_3;
__pyx_L35_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1925
+ /* "src/lxml/lxml.objectify.pyx":1928
* if ns == XML_SCHEMA_NS:
* if prefix is not None and prefix:
* _xsi = prefix + u':' + _xsi # <<<<<<<<<<<<<<
* break
* else:
*/
- __pyx_t_4 = PyNumber_Add(__pyx_v_prefix, __pyx_kp_u__12); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyNumber_Add(__pyx_v_prefix, __pyx_kp_u__12); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_v__xsi); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_v__xsi); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v__xsi, __pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1924
+ /* "src/lxml/lxml.objectify.pyx":1927
* for prefix, ns in nsmap.items():
* if ns == XML_SCHEMA_NS:
* if prefix is not None and prefix: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1926
+ /* "src/lxml/lxml.objectify.pyx":1929
* if prefix is not None and prefix:
* _xsi = prefix + u':' + _xsi
* break # <<<<<<<<<<<<<<
*/
goto __pyx_L30_break;
- /* "src/lxml/lxml.objectify.pyx":1923
+ /* "src/lxml/lxml.objectify.pyx":1926
* name = _xsi
* for prefix, ns in nsmap.items():
* if ns == XML_SCHEMA_NS: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1922
+ /* "src/lxml/lxml.objectify.pyx":1925
* else:
* name = _xsi
* for prefix, ns in nsmap.items(): # <<<<<<<<<<<<<<
}
/*else*/ {
- /* "src/lxml/lxml.objectify.pyx":1928
+ /* "src/lxml/lxml.objectify.pyx":1931
* break
* else:
* raise ValueError, u"XSD types require the XSD namespace" # <<<<<<<<<<<<<<
* if _pytype is None:
*/
__Pyx_Raise(__pyx_builtin_ValueError, __pyx_kp_u_XSD_types_require_the_XSD_namesp, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- /* "src/lxml/lxml.objectify.pyx":1922
+ /* "src/lxml/lxml.objectify.pyx":1925
* else:
* name = _xsi
* for prefix, ns in nsmap.items(): # <<<<<<<<<<<<<<
}
__pyx_L25:;
- /* "src/lxml/lxml.objectify.pyx":1929
+ /* "src/lxml/lxml.objectify.pyx":1932
* else:
* raise ValueError, u"XSD types require the XSD namespace"
* _attributes[XML_SCHEMA_INSTANCE_TYPE_ATTR] = _xsi # <<<<<<<<<<<<<<
* if _pytype is None:
* # allow using unregistered or even wrong xsi:type names
*/
- if (unlikely(PyObject_SetItem(__pyx_v__attributes, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_TYPE_ATTR, __pyx_v__xsi) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyObject_SetItem(__pyx_v__attributes, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_TYPE_ATTR, __pyx_v__xsi) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1930
+ /* "src/lxml/lxml.objectify.pyx":1933
* raise ValueError, u"XSD types require the XSD namespace"
* _attributes[XML_SCHEMA_INSTANCE_TYPE_ATTR] = _xsi
* if _pytype is None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1932
+ /* "src/lxml/lxml.objectify.pyx":1935
* if _pytype is None:
* # allow using unregistered or even wrong xsi:type names
* py_type = <PyType>_SCHEMA_TYPE_DICT.get(_xsi) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v__xsi, Py_None); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v__xsi, Py_None); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_5 = __pyx_t_8;
__Pyx_INCREF(__pyx_t_5);
__pyx_v_py_type = ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_5);
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1933
+ /* "src/lxml/lxml.objectify.pyx":1936
* # allow using unregistered or even wrong xsi:type names
* py_type = <PyType>_SCHEMA_TYPE_DICT.get(_xsi)
* if py_type is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1934
+ /* "src/lxml/lxml.objectify.pyx":1937
* py_type = <PyType>_SCHEMA_TYPE_DICT.get(_xsi)
* if py_type is None:
* py_type = <PyType>_SCHEMA_TYPE_DICT.get(name) # <<<<<<<<<<<<<<
*/
if (unlikely(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_5 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_name, Py_None); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, __pyx_v_name, Py_None); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_8 = __pyx_t_5;
__Pyx_INCREF(__pyx_t_8);
__Pyx_DECREF_SET(__pyx_v_py_type, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_8));
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1933
+ /* "src/lxml/lxml.objectify.pyx":1936
* # allow using unregistered or even wrong xsi:type names
* py_type = <PyType>_SCHEMA_TYPE_DICT.get(_xsi)
* if py_type is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1935
+ /* "src/lxml/lxml.objectify.pyx":1938
* if py_type is None:
* py_type = <PyType>_SCHEMA_TYPE_DICT.get(name)
* if py_type is not None: # <<<<<<<<<<<<<<
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
- /* "src/lxml/lxml.objectify.pyx":1936
+ /* "src/lxml/lxml.objectify.pyx":1939
* py_type = <PyType>_SCHEMA_TYPE_DICT.get(name)
* if py_type is not None:
* _pytype = py_type.name # <<<<<<<<<<<<<<
__Pyx_DECREF_SET(__pyx_v__pytype, __pyx_t_8);
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1935
+ /* "src/lxml/lxml.objectify.pyx":1938
* if py_type is None:
* py_type = <PyType>_SCHEMA_TYPE_DICT.get(name)
* if py_type is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1930
+ /* "src/lxml/lxml.objectify.pyx":1933
* raise ValueError, u"XSD types require the XSD namespace"
* _attributes[XML_SCHEMA_INSTANCE_TYPE_ATTR] = _xsi
* if _pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1911
+ /* "src/lxml/lxml.objectify.pyx":1914
* _pytype = _attributes.get(PYTYPE_ATTRIBUTE)
*
* if _xsi is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1938
+ /* "src/lxml/lxml.objectify.pyx":1941
* _pytype = py_type.name
*
* if _pytype is None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_3 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1939
+ /* "src/lxml/lxml.objectify.pyx":1942
*
* if _pytype is None:
* _pytype = _pytypename(_value) # <<<<<<<<<<<<<<
*
* if _value is None and _pytype != u"str":
*/
- __pyx_t_8 = __pyx_f_4lxml_9objectify__pytypename(__pyx_v__value); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __pyx_f_4lxml_9objectify__pytypename(__pyx_v__value); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF_SET(__pyx_v__pytype, __pyx_t_8);
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1938
+ /* "src/lxml/lxml.objectify.pyx":1941
* _pytype = py_type.name
*
* if _pytype is None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1941
+ /* "src/lxml/lxml.objectify.pyx":1944
* _pytype = _pytypename(_value)
*
* if _value is None and _pytype != u"str": # <<<<<<<<<<<<<<
__pyx_t_2 = __pyx_t_1;
goto __pyx_L43_bool_binop_done;
}
- __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v__pytype, __pyx_n_u_str, Py_NE)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v__pytype, __pyx_n_u_str, Py_NE)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = __pyx_t_1;
__pyx_L43_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1942
+ /* "src/lxml/lxml.objectify.pyx":1945
*
* if _value is None and _pytype != u"str":
* _pytype = _pytype or u"NoneType" # <<<<<<<<<<<<<<
* strval = None
* elif python._isString(_value):
*/
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v__pytype); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v__pytype); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (!__pyx_t_2) {
} else {
__Pyx_INCREF(__pyx_v__pytype);
__Pyx_DECREF_SET(__pyx_v__pytype, __pyx_t_8);
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1943
+ /* "src/lxml/lxml.objectify.pyx":1946
* if _value is None and _pytype != u"str":
* _pytype = _pytype or u"NoneType"
* strval = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__pyx_v_strval = Py_None;
- /* "src/lxml/lxml.objectify.pyx":1941
+ /* "src/lxml/lxml.objectify.pyx":1944
* _pytype = _pytypename(_value)
*
* if _value is None and _pytype != u"str": # <<<<<<<<<<<<<<
goto __pyx_L42;
}
- /* "src/lxml/lxml.objectify.pyx":1944
+ /* "src/lxml/lxml.objectify.pyx":1947
* _pytype = _pytype or u"NoneType"
* strval = None
* elif python._isString(_value): # <<<<<<<<<<<<<<
__pyx_t_2 = (_isString(__pyx_v__value) != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1945
+ /* "src/lxml/lxml.objectify.pyx":1948
* strval = None
* elif python._isString(_value):
* strval = _value # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_v__value);
__pyx_v_strval = __pyx_v__value;
- /* "src/lxml/lxml.objectify.pyx":1944
+ /* "src/lxml/lxml.objectify.pyx":1947
* _pytype = _pytype or u"NoneType"
* strval = None
* elif python._isString(_value): # <<<<<<<<<<<<<<
goto __pyx_L42;
}
- /* "src/lxml/lxml.objectify.pyx":1946
+ /* "src/lxml/lxml.objectify.pyx":1949
* elif python._isString(_value):
* strval = _value
* elif isinstance(_value, bool): # <<<<<<<<<<<<<<
*/
__pyx_t_8 = ((PyObject*)&PyBool_Type);
__Pyx_INCREF(__pyx_t_8);
- __pyx_t_2 = PyObject_IsInstance(__pyx_v__value, __pyx_t_8); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyObject_IsInstance(__pyx_v__value, __pyx_t_8); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1947
+ /* "src/lxml/lxml.objectify.pyx":1950
* strval = _value
* elif isinstance(_value, bool):
* if _value: # <<<<<<<<<<<<<<
* strval = u"true"
* else:
*/
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v__value); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v__value); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1948
+ /* "src/lxml/lxml.objectify.pyx":1951
* elif isinstance(_value, bool):
* if _value:
* strval = u"true" # <<<<<<<<<<<<<<
__Pyx_INCREF(__pyx_n_u_true);
__pyx_v_strval = __pyx_n_u_true;
- /* "src/lxml/lxml.objectify.pyx":1947
+ /* "src/lxml/lxml.objectify.pyx":1950
* strval = _value
* elif isinstance(_value, bool):
* if _value: # <<<<<<<<<<<<<<
goto __pyx_L47;
}
- /* "src/lxml/lxml.objectify.pyx":1950
+ /* "src/lxml/lxml.objectify.pyx":1953
* strval = u"true"
* else:
* strval = u"false" # <<<<<<<<<<<<<<
}
__pyx_L47:;
- /* "src/lxml/lxml.objectify.pyx":1946
+ /* "src/lxml/lxml.objectify.pyx":1949
* elif python._isString(_value):
* strval = _value
* elif isinstance(_value, bool): # <<<<<<<<<<<<<<
goto __pyx_L42;
}
- /* "src/lxml/lxml.objectify.pyx":1952
+ /* "src/lxml/lxml.objectify.pyx":1955
* strval = u"false"
* else:
* py_type = <PyType>_PYTYPE_DICT.get(_pytype) # <<<<<<<<<<<<<<
/*else*/ {
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v__pytype, Py_None); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v__pytype, Py_None); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1955; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_5 = __pyx_t_8;
__Pyx_INCREF(__pyx_t_5);
__Pyx_XDECREF_SET(__pyx_v_py_type, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_5));
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1953
+ /* "src/lxml/lxml.objectify.pyx":1956
* else:
* py_type = <PyType>_PYTYPE_DICT.get(_pytype)
* stringify = unicode if py_type is None else py_type.stringify # <<<<<<<<<<<<<<
__pyx_v_stringify = __pyx_t_5;
__pyx_t_5 = 0;
- /* "src/lxml/lxml.objectify.pyx":1954
+ /* "src/lxml/lxml.objectify.pyx":1957
* py_type = <PyType>_PYTYPE_DICT.get(_pytype)
* stringify = unicode if py_type is None else py_type.stringify
* strval = stringify(_value) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_4) {
- __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v__value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v__value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
__Pyx_INCREF(__pyx_v__value);
__Pyx_GIVEREF(__pyx_v__value);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v__value);
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
}
__pyx_L42:;
- /* "src/lxml/lxml.objectify.pyx":1956
+ /* "src/lxml/lxml.objectify.pyx":1959
* strval = stringify(_value)
*
* if _pytype is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1957
+ /* "src/lxml/lxml.objectify.pyx":1960
*
* if _pytype is not None:
* if _pytype == u"NoneType" or _pytype == u"none": # <<<<<<<<<<<<<<
* strval = None
* _attributes[XML_SCHEMA_INSTANCE_NIL_ATTR] = u"true"
*/
- __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v__pytype, __pyx_n_u_NoneType, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v__pytype, __pyx_n_u_NoneType, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (!__pyx_t_1) {
} else {
__pyx_t_2 = __pyx_t_1;
goto __pyx_L50_bool_binop_done;
}
- __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v__pytype, __pyx_n_u_none, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v__pytype, __pyx_n_u_none, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_t_2 = __pyx_t_1;
__pyx_L50_bool_binop_done:;
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1958
+ /* "src/lxml/lxml.objectify.pyx":1961
* if _pytype is not None:
* if _pytype == u"NoneType" or _pytype == u"none":
* strval = None # <<<<<<<<<<<<<<
__Pyx_INCREF(Py_None);
__Pyx_DECREF_SET(__pyx_v_strval, Py_None);
- /* "src/lxml/lxml.objectify.pyx":1959
+ /* "src/lxml/lxml.objectify.pyx":1962
* if _pytype == u"NoneType" or _pytype == u"none":
* strval = None
* _attributes[XML_SCHEMA_INSTANCE_NIL_ATTR] = u"true" # <<<<<<<<<<<<<<
* else:
* # check if type information from arguments is valid
*/
- if (unlikely(PyObject_SetItem(__pyx_v__attributes, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_NIL_ATTR, __pyx_n_u_true) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyObject_SetItem(__pyx_v__attributes, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_NIL_ATTR, __pyx_n_u_true) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1957
+ /* "src/lxml/lxml.objectify.pyx":1960
*
* if _pytype is not None:
* if _pytype == u"NoneType" or _pytype == u"none": # <<<<<<<<<<<<<<
goto __pyx_L49;
}
- /* "src/lxml/lxml.objectify.pyx":1962
+ /* "src/lxml/lxml.objectify.pyx":1965
* else:
* # check if type information from arguments is valid
* py_type = <PyType>_PYTYPE_DICT.get(_pytype) # <<<<<<<<<<<<<<
/*else*/ {
if (unlikely(__pyx_v_4lxml_9objectify__PYTYPE_DICT == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "get");
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
- __pyx_t_5 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v__pytype, Py_None); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1962; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyDict_GetItemDefault(__pyx_v_4lxml_9objectify__PYTYPE_DICT, __pyx_v__pytype, Py_None); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_8 = __pyx_t_5;
__Pyx_INCREF(__pyx_t_8);
__Pyx_XDECREF_SET(__pyx_v_py_type, ((struct __pyx_obj_4lxml_9objectify_PyType *)__pyx_t_8));
__pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1963
+ /* "src/lxml/lxml.objectify.pyx":1966
* # check if type information from arguments is valid
* py_type = <PyType>_PYTYPE_DICT.get(_pytype)
* if py_type is not None: # <<<<<<<<<<<<<<
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
- /* "src/lxml/lxml.objectify.pyx":1964
+ /* "src/lxml/lxml.objectify.pyx":1967
* py_type = <PyType>_PYTYPE_DICT.get(_pytype)
* if py_type is not None:
* if py_type.type_check is not None: # <<<<<<<<<<<<<<
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
- /* "src/lxml/lxml.objectify.pyx":1965
+ /* "src/lxml/lxml.objectify.pyx":1968
* if py_type is not None:
* if py_type.type_check is not None:
* py_type.type_check(strval) # <<<<<<<<<<<<<<
}
}
if (!__pyx_t_6) {
- __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_strval); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_strval); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
} else {
- __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
__Pyx_INCREF(__pyx_v_strval);
__Pyx_GIVEREF(__pyx_v_strval);
PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_strval);
- __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1964
+ /* "src/lxml/lxml.objectify.pyx":1967
* py_type = <PyType>_PYTYPE_DICT.get(_pytype)
* if py_type is not None:
* if py_type.type_check is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1966
+ /* "src/lxml/lxml.objectify.pyx":1969
* if py_type.type_check is not None:
* py_type.type_check(strval)
* _attributes[PYTYPE_ATTRIBUTE] = _pytype # <<<<<<<<<<<<<<
*
* return _makeElement(u"value", strval, _attributes, nsmap)
*/
- __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTYPE_ATTRIBUTE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- if (unlikely(PyObject_SetItem(__pyx_v__attributes, __pyx_t_8, __pyx_v__pytype) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (unlikely(PyObject_SetItem(__pyx_v__attributes, __pyx_t_8, __pyx_v__pytype) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- /* "src/lxml/lxml.objectify.pyx":1963
+ /* "src/lxml/lxml.objectify.pyx":1966
* # check if type information from arguments is valid
* py_type = <PyType>_PYTYPE_DICT.get(_pytype)
* if py_type is not None: # <<<<<<<<<<<<<<
}
__pyx_L49:;
- /* "src/lxml/lxml.objectify.pyx":1956
+ /* "src/lxml/lxml.objectify.pyx":1959
* strval = stringify(_value)
*
* if _pytype is not None: # <<<<<<<<<<<<<<
*/
}
- /* "src/lxml/lxml.objectify.pyx":1968
+ /* "src/lxml/lxml.objectify.pyx":1971
* _attributes[PYTYPE_ATTRIBUTE] = _pytype
*
* return _makeElement(u"value", strval, _attributes, nsmap) # <<<<<<<<<<<<<<
*
*/
__Pyx_XDECREF(__pyx_r);
- __pyx_t_8 = ((PyObject *)__pyx_f_4lxml_9objectify__makeElement(__pyx_n_u_value, __pyx_v_strval, __pyx_v__attributes, __pyx_v_nsmap)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = ((PyObject *)__pyx_f_4lxml_9objectify__makeElement(__pyx_n_u_value, __pyx_v_strval, __pyx_v__attributes, __pyx_v_nsmap)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
__pyx_r = __pyx_t_8;
__pyx_t_8 = 0;
goto __pyx_L0;
- /* "src/lxml/lxml.objectify.pyx":1865
+ /* "src/lxml/lxml.objectify.pyx":1868
* return _makeElement(_tag, None, _attributes, nsmap)
*
* def DataElement(_value, attrib=None, nsmap=None, *, _pytype=None, _xsi=None, # <<<<<<<<<<<<<<
* if match is None:
*/
while (1) {
- __pyx_t_3 = (__pyx_v_path != Py_None) && (PyUnicode_GET_SIZE(__pyx_v_path) != 0);
+ __pyx_t_3 = (__pyx_v_path != Py_None) && (__Pyx_PyUnicode_GET_LENGTH(__pyx_v_path) != 0);
if (!__pyx_t_3) break;
/* "src/lxml/objectpath.pxi":108
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
- "PyType(self, name, type_check, type_class, stringify=None)\n User defined type.\n\n Named type that contains a type check function and a type class that\n inherits from ObjectifiedDataElement. The type check must take a string\n as argument and raise ValueError or TypeError if it cannot handle the\n string value. It may be None in which case it is not considered for type\n guessing.\n\n Example::\n\n PyType('int', int, MyIntClass).register()\n\n Note that the order in which types are registered matters. The first\n matching type will be used.\n ", /*tp_doc*/
+ "PyType(self, name, type_check, type_class, stringify=None)\n User defined type.\n\n Named type that contains a type check function, a type class that\n inherits from ObjectifiedDataElement and an optional \"stringification\"\n function. The type check must take a string as argument and raise\n ValueError or TypeError if it cannot handle the string value. It may be\n None in which case it is not considered for type guessing. For registered\n named types, the 'stringify' function (or unicode() if None) is used to\n convert a Python object with type name 'name' to the string representation\n stored in the XML tree.\n\n Example::\n\n PyType('int', int, MyIntClass).register()\n\n Note that the order in which types are registered matters. The first\n matching type will be used.\n ", /*tp_doc*/
__pyx_tp_traverse_4lxml_9objectify_PyType, /*tp_traverse*/
__pyx_tp_clear_4lxml_9objectify_PyType, /*tp_clear*/
0, /*tp_richcompare*/
{&__pyx_n_s_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 0, 1, 1},
{&__pyx_n_s_remove_blank_text, __pyx_k_remove_blank_text, sizeof(__pyx_k_remove_blank_text), 0, 0, 1, 1},
{&__pyx_n_s_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 0, 1, 1},
+ {&__pyx_n_s_repr, __pyx_k_repr, sizeof(__pyx_k_repr), 0, 0, 1, 1},
{&__pyx_n_s_root, __pyx_k_root, sizeof(__pyx_k_root), 0, 0, 1, 1},
{&__pyx_kp_u_root_element_does_not_match_need, __pyx_k_root_element_does_not_match_need, sizeof(__pyx_k_root_element_does_not_match_need), 0, 1, 0, 0},
{&__pyx_kp_u_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 1, 0, 0},
__pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_oct = __Pyx_GetBuiltinName(__pyx_n_s_oct); if (!__pyx_builtin_oct) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_hex = __Pyx_GetBuiltinName(__pyx_n_s_hex); if (!__pyx_builtin_hex) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_builtin_map = __Pyx_GetBuiltinName(__pyx_n_s_map); if (!__pyx_builtin_map) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1002; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_builtin_map = __Pyx_GetBuiltinName(__pyx_n_s_map); if (!__pyx_builtin_map) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
return 0;
__pyx_L1_error:;
__Pyx_GOTREF(__pyx_slice__4);
__Pyx_GIVEREF(__pyx_slice__4);
- /* "src/lxml/lxml.objectify.pyx":1024
+ /* "src/lxml/lxml.objectify.pyx":1027
* cdef _registerPyTypes():
* pytype = PyType(u'int', int, IntElement)
* pytype.xmlSchemaTypes = (u"integer", u"int", u"short", u"byte", u"unsignedShort", # <<<<<<<<<<<<<<
* u"unsignedByte", u"nonPositiveInteger",
* u"negativeInteger", u"long", u"nonNegativeInteger",
*/
- __pyx_tuple__5 = PyTuple_Pack(13, __pyx_n_u_integer, __pyx_n_u_int, __pyx_n_u_short, __pyx_n_u_byte, __pyx_n_u_unsignedShort, __pyx_n_u_unsignedByte, __pyx_n_u_nonPositiveInteger, __pyx_n_u_negativeInteger, __pyx_n_u_long, __pyx_n_u_nonNegativeInteger, __pyx_n_u_unsignedLong, __pyx_n_u_unsignedInt, __pyx_n_u_positiveInteger); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__5 = PyTuple_Pack(13, __pyx_n_u_integer, __pyx_n_u_int, __pyx_n_u_short, __pyx_n_u_byte, __pyx_n_u_unsignedShort, __pyx_n_u_unsignedByte, __pyx_n_u_nonPositiveInteger, __pyx_n_u_negativeInteger, __pyx_n_u_long, __pyx_n_u_nonNegativeInteger, __pyx_n_u_unsignedLong, __pyx_n_u_unsignedInt, __pyx_n_u_positiveInteger); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__5);
__Pyx_GIVEREF(__pyx_tuple__5);
- /* "src/lxml/lxml.objectify.pyx":1035
+ /* "src/lxml/lxml.objectify.pyx":1038
*
- * pytype = PyType(u'float', float, FloatElement)
+ * pytype = PyType(u'float', float, FloatElement, repr)
* pytype.xmlSchemaTypes = (u"double", u"float") # <<<<<<<<<<<<<<
* pytype.register()
*
*/
- __pyx_tuple__6 = PyTuple_Pack(2, __pyx_n_u_double, __pyx_n_u_float); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__6 = PyTuple_Pack(2, __pyx_n_u_double, __pyx_n_u_float); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__6);
__Pyx_GIVEREF(__pyx_tuple__6);
- /* "src/lxml/lxml.objectify.pyx":1039
+ /* "src/lxml/lxml.objectify.pyx":1042
*
* pytype = PyType(u'bool', __checkBool, BoolElement, __lower_bool)
* pytype.xmlSchemaTypes = (u"boolean",) # <<<<<<<<<<<<<<
* pytype.register()
*
*/
- __pyx_tuple__7 = PyTuple_Pack(1, __pyx_n_u_boolean); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__7 = PyTuple_Pack(1, __pyx_n_u_boolean); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__7);
__Pyx_GIVEREF(__pyx_tuple__7);
- /* "src/lxml/lxml.objectify.pyx":1043
+ /* "src/lxml/lxml.objectify.pyx":1046
*
* pytype = PyType(u'str', None, StringElement)
* pytype.xmlSchemaTypes = (u"string", u"normalizedString", u"token", u"language", # <<<<<<<<<<<<<<
* u"Name", u"NCName", u"ID", u"IDREF", u"ENTITY",
* u"NMTOKEN", )
*/
- __pyx_tuple__8 = PyTuple_Pack(10, __pyx_n_u_string, __pyx_n_u_normalizedString, __pyx_n_u_token, __pyx_n_u_language, __pyx_n_u_Name, __pyx_n_u_NCName, __pyx_n_u_ID, __pyx_n_u_IDREF, __pyx_n_u_ENTITY, __pyx_n_u_NMTOKEN); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__8 = PyTuple_Pack(10, __pyx_n_u_string, __pyx_n_u_normalizedString, __pyx_n_u_token, __pyx_n_u_language, __pyx_n_u_Name, __pyx_n_u_NCName, __pyx_n_u_ID, __pyx_n_u_IDREF, __pyx_n_u_ENTITY, __pyx_n_u_NMTOKEN); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__8);
__Pyx_GIVEREF(__pyx_tuple__8);
- /* "src/lxml/lxml.objectify.pyx":1342
+ /* "src/lxml/lxml.objectify.pyx":1345
* result += _dump(child, indent)
* if indent == 1:
* return result[:-1] # strip last '\n' # <<<<<<<<<<<<<<
* else:
* return result
*/
- __pyx_slice__11 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_slice__11 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_slice__11);
__Pyx_GIVEREF(__pyx_slice__11);
- /* "src/lxml/lxml.objectify.pyx":1423
+ /* "src/lxml/lxml.objectify.pyx":1426
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is None and u':' in value:
* prefix, value = value.split(u':', 1) # <<<<<<<<<<<<<<
* schema_type = <PyType>_SCHEMA_TYPE_DICT.get(value)
* if schema_type is not None:
*/
- __pyx_tuple__13 = PyTuple_Pack(2, __pyx_kp_u__12, __pyx_int_1); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__13 = PyTuple_Pack(2, __pyx_kp_u__12, __pyx_int_1); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__13);
__Pyx_GIVEREF(__pyx_tuple__13);
- /* "src/lxml/lxml.objectify.pyx":1600
+ /* "src/lxml/lxml.objectify.pyx":1603
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename)
* if pytype is None and u':' in typename:
* prefix, typename = typename.split(u':', 1) # <<<<<<<<<<<<<<
* pytype = <PyType>_SCHEMA_TYPE_DICT.get(typename)
* if pytype is not None and pytype is not StrType:
*/
- __pyx_tuple__14 = PyTuple_Pack(2, __pyx_kp_u__12, __pyx_int_1); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__14 = PyTuple_Pack(2, __pyx_kp_u__12, __pyx_int_1); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__14);
__Pyx_GIVEREF(__pyx_tuple__14);
- /* "src/lxml/lxml.objectify.pyx":1669
+ /* "src/lxml/lxml.objectify.pyx":1672
* if c_ns is not NULL:
* if b':' in typename_utf8:
* prefix, name = typename_utf8.split(b':', 1) # <<<<<<<<<<<<<<
* if c_ns.prefix is NULL or c_ns.prefix[0] == c'\0':
* typename_utf8 = name
*/
- __pyx_tuple__15 = PyTuple_Pack(2, __pyx_kp_b__12, __pyx_int_1); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__15 = PyTuple_Pack(2, __pyx_kp_b__12, __pyx_int_1); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__15);
__Pyx_GIVEREF(__pyx_tuple__15);
- /* "src/lxml/lxml.objectify.pyx":1913
+ /* "src/lxml/lxml.objectify.pyx":1916
* if _xsi is not None:
* if u':' in _xsi:
* prefix, name = _xsi.split(u':', 1) # <<<<<<<<<<<<<<
* ns = nsmap.get(prefix)
* if ns != XML_SCHEMA_NS:
*/
- __pyx_tuple__16 = PyTuple_Pack(2, __pyx_kp_u__12, __pyx_int_1); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__16 = PyTuple_Pack(2, __pyx_kp_u__12, __pyx_int_1); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__16);
__Pyx_GIVEREF(__pyx_tuple__16);
__Pyx_GIVEREF(__pyx_tuple__23);
__pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_checkBool, 837, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1009
+ /* "src/lxml/lxml.objectify.pyx":1012
* cdef list _TYPE_CHECKS = []
*
* def __lower_bool(b): # <<<<<<<<<<<<<<
* return u"true" if b else u"false"
*
*/
- __pyx_tuple__25 = PyTuple_Pack(1, __pyx_n_s_b); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__25 = PyTuple_Pack(1, __pyx_n_s_b); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__25);
__Pyx_GIVEREF(__pyx_tuple__25);
- __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_lower_bool, 1009, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_lower_bool, 1012, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1015
+ /* "src/lxml/lxml.objectify.pyx":1018
* return u"str" if python._isString(obj) else _typename(obj)
*
* def pytypename(obj): # <<<<<<<<<<<<<<
* u"""pytypename(obj)
*
*/
- __pyx_tuple__27 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__27 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__27);
__Pyx_GIVEREF(__pyx_tuple__27);
- __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_pytypename, 1015, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_pytypename, 1018, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1061
+ /* "src/lxml/lxml.objectify.pyx":1064
* _registerPyTypes()
*
* def getRegisteredTypes(): # <<<<<<<<<<<<<<
* u"""getRegisteredTypes()
*
*/
- __pyx_tuple__29 = PyTuple_Pack(5, __pyx_n_s_types, __pyx_n_s_known, __pyx_n_s_check, __pyx_n_s_pytype, __pyx_n_s_name); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__29 = PyTuple_Pack(5, __pyx_n_s_types, __pyx_n_s_known, __pyx_n_s_check, __pyx_n_s_pytype, __pyx_n_s_name); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__29);
__Pyx_GIVEREF(__pyx_tuple__29);
- __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_getRegisteredTypes, 1061, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_getRegisteredTypes, 1064, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1297
+ /* "src/lxml/lxml.objectify.pyx":1300
* cdef bint __RECURSIVE_STR = 0 # default: off
*
* def enable_recursive_str(on=True): # <<<<<<<<<<<<<<
* u"""enable_recursive_str(on=True)
*
*/
- __pyx_tuple__31 = PyTuple_Pack(1, __pyx_n_s_on); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__31 = PyTuple_Pack(1, __pyx_n_s_on); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__31);
__Pyx_GIVEREF(__pyx_tuple__31);
- __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_enable_recursive_str, 1297, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__33 = PyTuple_Pack(1, ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_enable_recursive_str, 1300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__33 = PyTuple_Pack(1, ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__33);
__Pyx_GIVEREF(__pyx_tuple__33);
- /* "src/lxml/lxml.objectify.pyx":1306
+ /* "src/lxml/lxml.objectify.pyx":1309
* __RECURSIVE_STR = on
*
* def dump(_Element element not None): # <<<<<<<<<<<<<<
* u"""dump(_Element element not None)
*
*/
- __pyx_tuple__34 = PyTuple_Pack(1, __pyx_n_s_element); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__34 = PyTuple_Pack(1, __pyx_n_s_element); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__34);
__Pyx_GIVEREF(__pyx_tuple__34);
- __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_dump, 1306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_dump, 1309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1350
+ /* "src/lxml/lxml.objectify.pyx":1353
* # Pickle support for objectified ElementTree
*
* def __unpickleElementTree(data): # <<<<<<<<<<<<<<
* return etree.ElementTree(fromstring(data))
*
*/
- __pyx_tuple__36 = PyTuple_Pack(1, __pyx_n_s_data); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__36 = PyTuple_Pack(1, __pyx_n_s_data); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__36);
__Pyx_GIVEREF(__pyx_tuple__36);
- __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_unpickleElementTree, 1350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_unpickleElementTree, 1353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1361
+ /* "src/lxml/lxml.objectify.pyx":1364
* elementTreeReduceFunction, __unpickleElementTree)
*
* def pickleReduceElementTree(obj): # <<<<<<<<<<<<<<
* return (__unpickleElementTree, (etree.tostring(obj),))
*
*/
- __pyx_tuple__38 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__38 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__38);
__Pyx_GIVEREF(__pyx_tuple__38);
- __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_pickleReduceElementTree, 1361, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_pickleReduceElementTree, 1364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1455
+ /* "src/lxml/lxml.objectify.pyx":1458
* return None
*
* def pyannotate(element_or_tree, *, ignore_old=False, ignore_xsi=False, # <<<<<<<<<<<<<<
* empty_pytype=None):
* u"""pyannotate(element_or_tree, ignore_old=False, ignore_xsi=False, empty_pytype=None)
*/
- __pyx_tuple__40 = PyTuple_Pack(5, __pyx_n_s_element_or_tree, __pyx_n_s_ignore_old, __pyx_n_s_ignore_xsi, __pyx_n_s_empty_pytype, __pyx_n_s_element); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__40 = PyTuple_Pack(5, __pyx_n_s_element_or_tree, __pyx_n_s_ignore_old, __pyx_n_s_ignore_xsi, __pyx_n_s_empty_pytype, __pyx_n_s_element); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__40);
__Pyx_GIVEREF(__pyx_tuple__40);
- __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 3, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_pyannotate, 1455, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 3, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_pyannotate, 1458, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1478
+ /* "src/lxml/lxml.objectify.pyx":1481
* _annotate(element, 0, 1, ignore_xsi, ignore_old, None, empty_pytype)
*
* def xsiannotate(element_or_tree, *, ignore_old=False, ignore_pytype=False, # <<<<<<<<<<<<<<
* empty_type=None):
* u"""xsiannotate(element_or_tree, ignore_old=False, ignore_pytype=False, empty_type=None)
*/
- __pyx_tuple__42 = PyTuple_Pack(5, __pyx_n_s_element_or_tree, __pyx_n_s_ignore_old, __pyx_n_s_ignore_pytype, __pyx_n_s_empty_type, __pyx_n_s_element); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__42 = PyTuple_Pack(5, __pyx_n_s_element_or_tree, __pyx_n_s_ignore_old, __pyx_n_s_ignore_pytype, __pyx_n_s_empty_type, __pyx_n_s_element); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__42);
__Pyx_GIVEREF(__pyx_tuple__42);
- __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 3, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_xsiannotate, 1478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 3, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_xsiannotate, 1481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1506
+ /* "src/lxml/lxml.objectify.pyx":1509
* _annotate(element, 1, 0, ignore_old, ignore_pytype, empty_type, None)
*
* def annotate(element_or_tree, *, ignore_old=True, ignore_xsi=False, # <<<<<<<<<<<<<<
* empty_pytype=None, empty_type=None, annotate_xsi=0,
* annotate_pytype=1):
*/
- __pyx_tuple__44 = PyTuple_Pack(8, __pyx_n_s_element_or_tree, __pyx_n_s_ignore_old, __pyx_n_s_ignore_xsi, __pyx_n_s_empty_pytype, __pyx_n_s_empty_type, __pyx_n_s_annotate_xsi, __pyx_n_s_annotate_pytype, __pyx_n_s_element); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__44 = PyTuple_Pack(8, __pyx_n_s_element_or_tree, __pyx_n_s_ignore_old, __pyx_n_s_ignore_xsi, __pyx_n_s_empty_pytype, __pyx_n_s_empty_type, __pyx_n_s_annotate_xsi, __pyx_n_s_annotate_pytype, __pyx_n_s_element); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__44);
__Pyx_GIVEREF(__pyx_tuple__44);
- __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 6, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_annotate, 1506, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 6, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_annotate, 1509, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1702
+ /* "src/lxml/lxml.objectify.pyx":1705
* cdef object _cleanup_namespaces = etree.cleanup_namespaces
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True, # <<<<<<<<<<<<<<
* bint xsi_nil=False, bint cleanup_namespaces=False):
* u"""deannotate(element_or_tree, pytype=True, xsi=True, xsi_nil=False, cleanup_namespaces=False)
*/
- __pyx_tuple__46 = PyTuple_Pack(6, __pyx_n_s_element_or_tree, __pyx_n_s_pytype, __pyx_n_s_xsi_2, __pyx_n_s_xsi_nil, __pyx_n_s_cleanup_namespaces, __pyx_n_s_attribute_names); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__46 = PyTuple_Pack(6, __pyx_n_s_element_or_tree, __pyx_n_s_pytype, __pyx_n_s_xsi_2, __pyx_n_s_xsi_nil, __pyx_n_s_cleanup_namespaces, __pyx_n_s_attribute_names); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__46);
__Pyx_GIVEREF(__pyx_tuple__46);
- __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 4, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_deannotate, 1702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 4, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_deannotate, 1705, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1742
+ /* "src/lxml/lxml.objectify.pyx":1745
* objectify_parser = __DEFAULT_PARSER
*
* def set_default_parser(new_parser = None): # <<<<<<<<<<<<<<
* u"""set_default_parser(new_parser = None)
*
*/
- __pyx_tuple__48 = PyTuple_Pack(1, __pyx_n_s_new_parser); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__48 = PyTuple_Pack(1, __pyx_n_s_new_parser); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__48);
__Pyx_GIVEREF(__pyx_tuple__48);
- __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_set_default_parser, 1742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__50 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_set_default_parser, 1745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__50 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__50);
__Pyx_GIVEREF(__pyx_tuple__50);
- /* "src/lxml/lxml.objectify.pyx":1760
+ /* "src/lxml/lxml.objectify.pyx":1763
* raise TypeError, u"parser must inherit from lxml.etree.XMLParser"
*
* def makeparser(**kw): # <<<<<<<<<<<<<<
* u"""makeparser(remove_blank_text=True, **kw)
*
*/
- __pyx_tuple__51 = PyTuple_Pack(2, __pyx_n_s_kw, __pyx_n_s_parser); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__51 = PyTuple_Pack(2, __pyx_n_s_kw, __pyx_n_s_parser); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1763; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__51);
__Pyx_GIVEREF(__pyx_tuple__51);
- __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_makeparser, 1760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_makeparser, 1763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1763; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1787
+ /* "src/lxml/lxml.objectify.pyx":1790
* SubElement = etree.SubElement
*
* def fromstring(xml, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
* u"""fromstring(xml, parser=None, base_url=None)
*
*/
- __pyx_tuple__53 = PyTuple_Pack(3, __pyx_n_s_xml, __pyx_n_s_parser, __pyx_n_s_base_url); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__53 = PyTuple_Pack(3, __pyx_n_s_xml, __pyx_n_s_parser, __pyx_n_s_base_url); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__53);
__Pyx_GIVEREF(__pyx_tuple__53);
- __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 1, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_fromstring, 1787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__55 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 1, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_fromstring, 1790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__55 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__55);
__Pyx_GIVEREF(__pyx_tuple__55);
- /* "src/lxml/lxml.objectify.pyx":1803
+ /* "src/lxml/lxml.objectify.pyx":1806
* return _fromstring(xml, parser, base_url=base_url)
*
* def XML(xml, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
* u"""XML(xml, parser=None, base_url=None)
*
*/
- __pyx_tuple__56 = PyTuple_Pack(3, __pyx_n_s_xml, __pyx_n_s_parser, __pyx_n_s_base_url); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__56 = PyTuple_Pack(3, __pyx_n_s_xml, __pyx_n_s_parser, __pyx_n_s_base_url); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__56);
__Pyx_GIVEREF(__pyx_tuple__56);
- __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 1, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_XML, 1803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__58 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 1, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_XML, 1806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__58 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__58);
__Pyx_GIVEREF(__pyx_tuple__58);
- /* "src/lxml/lxml.objectify.pyx":1822
+ /* "src/lxml/lxml.objectify.pyx":1825
* _parse = etree.parse
*
* def parse(f, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
* u"""parse(f, parser=None, base_url=None)
*
*/
- __pyx_tuple__59 = PyTuple_Pack(3, __pyx_n_s_f, __pyx_n_s_parser, __pyx_n_s_base_url); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__59 = PyTuple_Pack(3, __pyx_n_s_f, __pyx_n_s_parser, __pyx_n_s_base_url); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__59);
__Pyx_GIVEREF(__pyx_tuple__59);
- __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 1, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_parse, 1822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__61 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 1, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_parse, 1825, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__61 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__61);
__Pyx_GIVEREF(__pyx_tuple__61);
- /* "src/lxml/lxml.objectify.pyx":1845
+ /* "src/lxml/lxml.objectify.pyx":1848
* E = ElementMaker()
*
* def Element(_tag, attrib=None, nsmap=None, *, _pytype=None, **_attributes): # <<<<<<<<<<<<<<
* u"""Element(_tag, attrib=None, nsmap=None, _pytype=None, **_attributes)
*
*/
- __pyx_tuple__62 = PyTuple_Pack(5, __pyx_n_s_tag_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_pytype_2, __pyx_n_s_attributes); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__62 = PyTuple_Pack(5, __pyx_n_s_tag_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_pytype_2, __pyx_n_s_attributes); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__62);
__Pyx_GIVEREF(__pyx_tuple__62);
- __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 1, 5, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Element, 1845, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__64 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(3, 1, 5, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Element, 1848, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__64 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__64);
__Pyx_GIVEREF(__pyx_tuple__64);
- /* "src/lxml/lxml.objectify.pyx":1865
+ /* "src/lxml/lxml.objectify.pyx":1868
* return _makeElement(_tag, None, _attributes, nsmap)
*
* def DataElement(_value, attrib=None, nsmap=None, *, _pytype=None, _xsi=None, # <<<<<<<<<<<<<<
* **_attributes):
* u"""DataElement(_value, attrib=None, nsmap=None, _pytype=None, _xsi=None, **_attributes)
*/
- __pyx_tuple__65 = PyTuple_Pack(13, __pyx_n_s_value_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_pytype_2, __pyx_n_s_xsi_3, __pyx_n_s_attributes, __pyx_n_s_temp, __pyx_n_s_prefix, __pyx_n_s_name, __pyx_n_s_ns, __pyx_n_s_py_type, __pyx_n_s_strval, __pyx_n_s_stringify); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__65 = PyTuple_Pack(13, __pyx_n_s_value_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_pytype_2, __pyx_n_s_xsi_3, __pyx_n_s_attributes, __pyx_n_s_temp, __pyx_n_s_prefix, __pyx_n_s_name, __pyx_n_s_ns, __pyx_n_s_py_type, __pyx_n_s_strval, __pyx_n_s_stringify); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__65);
__Pyx_GIVEREF(__pyx_tuple__65);
- __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(3, 2, 13, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_DataElement, 1865, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_tuple__67 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(3, 2, 13, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_DataElement, 1868, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_tuple__67 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_tuple__67);
__Pyx_GIVEREF(__pyx_tuple__67);
__pyx_type_4lxml_9objectify_PyType.tp_print = 0;
if (PyObject_SetAttrString(__pyx_m, "PyType", (PyObject *)&__pyx_type_4lxml_9objectify_PyType) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_9objectify_PyType = &__pyx_type_4lxml_9objectify_PyType;
- if (PyType_Ready(&__pyx_type_4lxml_9objectify__ObjectifyElementMakerCaller) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_9objectify__ObjectifyElementMakerCaller) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_9objectify__ObjectifyElementMakerCaller.tp_print = 0;
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_4lxml_9objectify__ObjectifyElementMakerCaller, "__call__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_4lxml_9objectify__ObjectifyElementMakerCaller, "__call__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_4lxml_9objectify_28_ObjectifyElementMakerCaller___call__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_4lxml_9objectify_28_ObjectifyElementMakerCaller___call__.doc = __pyx_doc_4lxml_9objectify_28_ObjectifyElementMakerCaller___call__;
__pyx_ptype_4lxml_9objectify__ObjectifyElementMakerCaller = &__pyx_type_4lxml_9objectify__ObjectifyElementMakerCaller;
__pyx_vtabptr_4lxml_9objectify_ElementMaker = &__pyx_vtable_4lxml_9objectify_ElementMaker;
__pyx_vtable_4lxml_9objectify_ElementMaker._build_element_maker = (PyObject *(*)(struct __pyx_obj_4lxml_9objectify_ElementMaker *, PyObject *, int))__pyx_f_4lxml_9objectify_12ElementMaker__build_element_maker;
- if (PyType_Ready(&__pyx_type_4lxml_9objectify_ElementMaker) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_9objectify_ElementMaker) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_9objectify_ElementMaker.tp_print = 0;
- if (__Pyx_SetVtable(__pyx_type_4lxml_9objectify_ElementMaker.tp_dict, __pyx_vtabptr_4lxml_9objectify_ElementMaker) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyObject_SetAttrString(__pyx_m, "ElementMaker", (PyObject *)&__pyx_type_4lxml_9objectify_ElementMaker) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_SetVtable(__pyx_type_4lxml_9objectify_ElementMaker.tp_dict, __pyx_vtabptr_4lxml_9objectify_ElementMaker) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "ElementMaker", (PyObject *)&__pyx_type_4lxml_9objectify_ElementMaker) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_9objectify_ElementMaker = &__pyx_type_4lxml_9objectify_ElementMaker;
__pyx_ptype_4lxml_8includes_11etreepublic_ElementClassLookup = __Pyx_ImportType("lxml.etree", "ElementClassLookup", sizeof(struct LxmlElementClassLookup), 0); if (unlikely(!__pyx_ptype_4lxml_8includes_11etreepublic_ElementClassLookup)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup.tp_base = __pyx_ptype_4lxml_8includes_11etreepublic_ElementClassLookup;
- if (PyType_Ready(&__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyType_Ready(&__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup.tp_print = 0;
#if CYTHON_COMPILING_IN_CPYTHON
{
- PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup, "__init__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup, "__init__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
__pyx_wrapperbase_4lxml_9objectify_27ObjectifyElementClassLookup___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
__pyx_wrapperbase_4lxml_9objectify_27ObjectifyElementClassLookup___init__.doc = __pyx_doc_4lxml_9objectify_27ObjectifyElementClassLookup___init__;
}
}
#endif
- if (PyObject_SetAttrString(__pyx_m, "ObjectifyElementClassLookup", (PyObject *)&__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttrString(__pyx_m, "ObjectifyElementClassLookup", (PyObject *)&__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_ptype_4lxml_9objectify_ObjectifyElementClassLookup = &__pyx_type_4lxml_9objectify_ObjectifyElementClassLookup;
if (PyType_Ready(&__pyx_type_4lxml_9objectify_ObjectPath) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__pyx_type_4lxml_9objectify_ObjectPath.tp_print = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_checkBool, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1005
+ /* "src/lxml/lxml.objectify.pyx":1008
*
*
* cdef dict _PYTYPE_DICT = {} # <<<<<<<<<<<<<<
* cdef dict _SCHEMA_TYPE_DICT = {}
* cdef list _TYPE_CHECKS = []
*/
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_v_4lxml_9objectify__PYTYPE_DICT);
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify__PYTYPE_DICT, ((PyObject*)__pyx_t_2));
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1006
+ /* "src/lxml/lxml.objectify.pyx":1009
*
* cdef dict _PYTYPE_DICT = {}
* cdef dict _SCHEMA_TYPE_DICT = {} # <<<<<<<<<<<<<<
* cdef list _TYPE_CHECKS = []
*
*/
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1006; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT);
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify__SCHEMA_TYPE_DICT, ((PyObject*)__pyx_t_2));
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1007
+ /* "src/lxml/lxml.objectify.pyx":1010
* cdef dict _PYTYPE_DICT = {}
* cdef dict _SCHEMA_TYPE_DICT = {}
* cdef list _TYPE_CHECKS = [] # <<<<<<<<<<<<<<
*
* def __lower_bool(b):
*/
- __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XGOTREF(__pyx_v_4lxml_9objectify__TYPE_CHECKS);
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify__TYPE_CHECKS, ((PyObject*)__pyx_t_2));
__Pyx_GIVEREF(__pyx_t_2);
__pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1009
+ /* "src/lxml/lxml.objectify.pyx":1012
* cdef list _TYPE_CHECKS = []
*
* def __lower_bool(b): # <<<<<<<<<<<<<<
* return u"true" if b else u"false"
*
*/
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_7__lower_bool, 0, __pyx_n_s_lower_bool, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_7__lower_bool, 0, __pyx_n_s_lower_bool, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_lower_bool, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_lower_bool, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1015
+ /* "src/lxml/lxml.objectify.pyx":1018
* return u"str" if python._isString(obj) else _typename(obj)
*
* def pytypename(obj): # <<<<<<<<<<<<<<
* u"""pytypename(obj)
*
*/
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_9pytypename, 0, __pyx_n_s_pytypename, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_9pytypename, 0, __pyx_n_s_pytypename, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pytypename, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pytypename, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1057
+ /* "src/lxml/lxml.objectify.pyx":1060
*
* # non-registered PyType for inner tree elements
* cdef PyType TREE_PYTYPE = PyType(TREE_PYTYPE_NAME, None, ObjectifiedElement) # <<<<<<<<<<<<<<
*
* _registerPyTypes()
*/
- __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME);
__Pyx_GIVEREF(__pyx_v_4lxml_9objectify_TREE_PYTYPE_NAME);
__Pyx_INCREF(((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifiedElement));
__Pyx_GIVEREF(((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifiedElement));
PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifiedElement));
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_PyType), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XGOTREF(((PyObject *)__pyx_v_4lxml_9objectify_TREE_PYTYPE));
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1059
+ /* "src/lxml/lxml.objectify.pyx":1062
* cdef PyType TREE_PYTYPE = PyType(TREE_PYTYPE_NAME, None, ObjectifiedElement)
*
* _registerPyTypes() # <<<<<<<<<<<<<<
*
* def getRegisteredTypes():
*/
- __pyx_t_1 = __pyx_f_4lxml_9objectify__registerPyTypes(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __pyx_f_4lxml_9objectify__registerPyTypes(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1061
+ /* "src/lxml/lxml.objectify.pyx":1064
* _registerPyTypes()
*
* def getRegisteredTypes(): # <<<<<<<<<<<<<<
* u"""getRegisteredTypes()
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_11getRegisteredTypes, 0, __pyx_n_s_getRegisteredTypes, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_11getRegisteredTypes, 0, __pyx_n_s_getRegisteredTypes, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_getRegisteredTypes, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_getRegisteredTypes, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1295
+ /* "src/lxml/lxml.objectify.pyx":1298
* # Recursive element dumping
*
* cdef bint __RECURSIVE_STR = 0 # default: off # <<<<<<<<<<<<<<
*/
__pyx_v_4lxml_9objectify___RECURSIVE_STR = 0;
- /* "src/lxml/lxml.objectify.pyx":1297
+ /* "src/lxml/lxml.objectify.pyx":1300
* cdef bint __RECURSIVE_STR = 0 # default: off
*
* def enable_recursive_str(on=True): # <<<<<<<<<<<<<<
* u"""enable_recursive_str(on=True)
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_13enable_recursive_str, 0, __pyx_n_s_enable_recursive_str, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_13enable_recursive_str, 0, __pyx_n_s_enable_recursive_str, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__33);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_enable_recursive_str, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_enable_recursive_str, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1306
+ /* "src/lxml/lxml.objectify.pyx":1309
* __RECURSIVE_STR = on
*
* def dump(_Element element not None): # <<<<<<<<<<<<<<
* u"""dump(_Element element not None)
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_15dump, 0, __pyx_n_s_dump, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_15dump, 0, __pyx_n_s_dump, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_dump, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_dump, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1350
+ /* "src/lxml/lxml.objectify.pyx":1353
* # Pickle support for objectified ElementTree
*
* def __unpickleElementTree(data): # <<<<<<<<<<<<<<
* return etree.ElementTree(fromstring(data))
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_17__unpickleElementTree, 0, __pyx_n_s_unpickleElementTree, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_17__unpickleElementTree, 0, __pyx_n_s_unpickleElementTree, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_unpickleElementTree, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_unpickleElementTree, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1361
+ /* "src/lxml/lxml.objectify.pyx":1364
* elementTreeReduceFunction, __unpickleElementTree)
*
* def pickleReduceElementTree(obj): # <<<<<<<<<<<<<<
* return (__unpickleElementTree, (etree.tostring(obj),))
*
*/
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_19pickleReduceElementTree, 0, __pyx_n_s_pickleReduceElementTree, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_19pickleReduceElementTree, 0, __pyx_n_s_pickleReduceElementTree, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pickleReduceElementTree, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pickleReduceElementTree, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1364
+ /* "src/lxml/lxml.objectify.pyx":1367
* return (__unpickleElementTree, (etree.tostring(obj),))
*
* _setupPickle(pickleReduceElementTree) # <<<<<<<<<<<<<<
* del pickleReduceElementTree
*
*/
- __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_pickleReduceElementTree); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_pickleReduceElementTree); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __pyx_f_4lxml_9objectify__setupPickle(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __pyx_f_4lxml_9objectify__setupPickle(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1365
+ /* "src/lxml/lxml.objectify.pyx":1368
*
* _setupPickle(pickleReduceElementTree)
* del pickleReduceElementTree # <<<<<<<<<<<<<<
*
* ################################################################################
*/
- if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_n_s_pickleReduceElementTree) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__Pyx_PyObject_DelAttrStr(__pyx_m, __pyx_n_s_pickleReduceElementTree) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1455
+ /* "src/lxml/lxml.objectify.pyx":1458
* return None
*
* def pyannotate(element_or_tree, *, ignore_old=False, ignore_xsi=False, # <<<<<<<<<<<<<<
* empty_pytype=None):
* u"""pyannotate(element_or_tree, ignore_old=False, ignore_xsi=False, empty_pytype=None)
*/
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ignore_old, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ignore_xsi, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_empty_pytype, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_21pyannotate, 0, __pyx_n_s_pyannotate, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ignore_old, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ignore_xsi, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_empty_pytype, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_21pyannotate, 0, __pyx_n_s_pyannotate, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyannotate, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyannotate, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1478
+ /* "src/lxml/lxml.objectify.pyx":1481
* _annotate(element, 0, 1, ignore_xsi, ignore_old, None, empty_pytype)
*
* def xsiannotate(element_or_tree, *, ignore_old=False, ignore_pytype=False, # <<<<<<<<<<<<<<
* empty_type=None):
* u"""xsiannotate(element_or_tree, ignore_old=False, ignore_pytype=False, empty_type=None)
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ignore_old, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ignore_pytype, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_empty_type, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_23xsiannotate, 0, __pyx_n_s_xsiannotate, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ignore_old, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ignore_pytype, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_empty_type, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_23xsiannotate, 0, __pyx_n_s_xsiannotate, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_2, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_xsiannotate, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_xsiannotate, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1506
+ /* "src/lxml/lxml.objectify.pyx":1509
* _annotate(element, 1, 0, ignore_old, ignore_pytype, empty_type, None)
*
* def annotate(element_or_tree, *, ignore_old=True, ignore_xsi=False, # <<<<<<<<<<<<<<
* empty_pytype=None, empty_type=None, annotate_xsi=0,
* annotate_pytype=1):
*/
- __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ignore_old, ((PyObject *)Py_True)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ignore_xsi, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_empty_pytype, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_empty_type, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_annotate_xsi, ((PyObject *)__pyx_int_0)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_annotate_pytype, ((PyObject *)__pyx_int_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_25annotate, 0, __pyx_n_s_annotate, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ignore_old, ((PyObject *)Py_True)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ignore_xsi, ((PyObject *)Py_False)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_empty_pytype, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_empty_type, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_annotate_xsi, ((PyObject *)__pyx_int_0)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_annotate_pytype, ((PyObject *)__pyx_int_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_25annotate, 0, __pyx_n_s_annotate, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_annotate, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_annotate, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1699
+ /* "src/lxml/lxml.objectify.pyx":1702
* return 0
*
* cdef object _strip_attributes = etree.strip_attributes # <<<<<<<<<<<<<<
* cdef object _cleanup_namespaces = etree.cleanup_namespaces
*
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_strip_attributes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1699; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_strip_attributes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XGOTREF(__pyx_v_4lxml_9objectify__strip_attributes);
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify__strip_attributes, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1700
+ /* "src/lxml/lxml.objectify.pyx":1703
*
* cdef object _strip_attributes = etree.strip_attributes
* cdef object _cleanup_namespaces = etree.cleanup_namespaces # <<<<<<<<<<<<<<
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True,
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_cleanup_namespaces); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_cleanup_namespaces); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XGOTREF(__pyx_v_4lxml_9objectify__cleanup_namespaces);
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify__cleanup_namespaces, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1702
+ /* "src/lxml/lxml.objectify.pyx":1705
* cdef object _cleanup_namespaces = etree.cleanup_namespaces
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True, # <<<<<<<<<<<<<<
* bint xsi_nil=False, bint cleanup_namespaces=False):
* u"""deannotate(element_or_tree, pytype=True, xsi=True, xsi_nil=False, cleanup_namespaces=False)
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyBool_FromLong(((int)1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyBool_FromLong(((int)1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pytype, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pytype, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyBool_FromLong(((int)1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyBool_FromLong(((int)1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xsi_2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xsi_2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1703
+ /* "src/lxml/lxml.objectify.pyx":1706
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True,
* bint xsi_nil=False, bint cleanup_namespaces=False): # <<<<<<<<<<<<<<
* u"""deannotate(element_or_tree, pytype=True, xsi=True, xsi_nil=False, cleanup_namespaces=False)
*
*/
- __pyx_t_2 = __Pyx_PyBool_FromLong(((int)0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyBool_FromLong(((int)0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xsi_nil, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xsi_nil, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_2 = __Pyx_PyBool_FromLong(((int)0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1703; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyBool_FromLong(((int)0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cleanup_namespaces, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cleanup_namespaces, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1702
+ /* "src/lxml/lxml.objectify.pyx":1705
* cdef object _cleanup_namespaces = etree.cleanup_namespaces
*
* def deannotate(element_or_tree, *, bint pytype=True, bint xsi=True, # <<<<<<<<<<<<<<
* bint xsi_nil=False, bint cleanup_namespaces=False):
* u"""deannotate(element_or_tree, pytype=True, xsi=True, xsi_nil=False, cleanup_namespaces=False)
*/
- __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_27deannotate, 0, __pyx_n_s_deannotate, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_27deannotate, 0, __pyx_n_s_deannotate, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_2, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_deannotate, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_deannotate, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- /* "src/lxml/lxml.objectify.pyx":1736
+ /* "src/lxml/lxml.objectify.pyx":1739
*
* cdef object __DEFAULT_PARSER
* __DEFAULT_PARSER = etree.XMLParser(remove_blank_text=True) # <<<<<<<<<<<<<<
* __DEFAULT_PARSER.set_element_class_lookup( ObjectifyElementClassLookup() )
*
*/
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_XMLParser); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_XMLParser); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_remove_blank_text, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_remove_blank_text, Py_True) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GIVEREF(__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1737
+ /* "src/lxml/lxml.objectify.pyx":1740
* cdef object __DEFAULT_PARSER
* __DEFAULT_PARSER = etree.XMLParser(remove_blank_text=True)
* __DEFAULT_PARSER.set_element_class_lookup( ObjectifyElementClassLookup() ) # <<<<<<<<<<<<<<
*
* cdef object objectify_parser
*/
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify___DEFAULT_PARSER, __pyx_n_s_set_element_class_lookup); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify___DEFAULT_PARSER, __pyx_n_s_set_element_class_lookup); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifyElementClassLookup), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_ObjectifyElementClassLookup), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
}
}
if (!__pyx_t_5) {
- __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_4);
} else {
- __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_2);
__pyx_t_2 = 0;
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1740
+ /* "src/lxml/lxml.objectify.pyx":1743
*
* cdef object objectify_parser
* objectify_parser = __DEFAULT_PARSER # <<<<<<<<<<<<<<
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify_objectify_parser, __pyx_v_4lxml_9objectify___DEFAULT_PARSER);
__Pyx_GIVEREF(__pyx_v_4lxml_9objectify___DEFAULT_PARSER);
- /* "src/lxml/lxml.objectify.pyx":1742
+ /* "src/lxml/lxml.objectify.pyx":1745
* objectify_parser = __DEFAULT_PARSER
*
* def set_default_parser(new_parser = None): # <<<<<<<<<<<<<<
* u"""set_default_parser(new_parser = None)
*
*/
- __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_29set_default_parser, 0, __pyx_n_s_set_default_parser, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_29set_default_parser, 0, __pyx_n_s_set_default_parser, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__50);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_default_parser, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_default_parser, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1760
+ /* "src/lxml/lxml.objectify.pyx":1763
* raise TypeError, u"parser must inherit from lxml.etree.XMLParser"
*
* def makeparser(**kw): # <<<<<<<<<<<<<<
* u"""makeparser(remove_blank_text=True, **kw)
*
*/
- __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_31makeparser, 0, __pyx_n_s_makeparser, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_31makeparser, 0, __pyx_n_s_makeparser, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1763; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_makeparser, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_makeparser, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1763; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1783
+ /* "src/lxml/lxml.objectify.pyx":1786
*
* cdef object _fromstring
* _fromstring = etree.fromstring # <<<<<<<<<<<<<<
*
* SubElement = etree.SubElement
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_fromstring); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_fromstring); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XGOTREF(__pyx_v_4lxml_9objectify__fromstring);
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify__fromstring, __pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1785
+ /* "src/lxml/lxml.objectify.pyx":1788
* _fromstring = etree.fromstring
*
* SubElement = etree.SubElement # <<<<<<<<<<<<<<
*
* def fromstring(xml, parser=None, *, base_url=None):
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_SubElement); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_SubElement); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_SubElement, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_SubElement, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1787
+ /* "src/lxml/lxml.objectify.pyx":1790
* SubElement = etree.SubElement
*
* def fromstring(xml, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
* u"""fromstring(xml, parser=None, base_url=None)
*
*/
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_33fromstring, 0, __pyx_n_s_fromstring, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_33fromstring, 0, __pyx_n_s_fromstring, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__55);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_fromstring, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_fromstring, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1803
+ /* "src/lxml/lxml.objectify.pyx":1806
* return _fromstring(xml, parser, base_url=base_url)
*
* def XML(xml, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
* u"""XML(xml, parser=None, base_url=None)
*
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_35XML, 0, __pyx_n_s_XML, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_35XML, 0, __pyx_n_s_XML, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__58);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_4, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_XML, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_XML, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1820
+ /* "src/lxml/lxml.objectify.pyx":1823
*
* cdef object _parse
* _parse = etree.parse # <<<<<<<<<<<<<<
*
* def parse(f, parser=None, *, base_url=None):
*/
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_parse); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_9objectify_etree, __pyx_n_s_parse); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XGOTREF(__pyx_v_4lxml_9objectify__parse);
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify__parse, __pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
__pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1822
+ /* "src/lxml/lxml.objectify.pyx":1825
* _parse = etree.parse
*
* def parse(f, parser=None, *, base_url=None): # <<<<<<<<<<<<<<
* u"""parse(f, parser=None, base_url=None)
*
*/
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_37parse, 0, __pyx_n_s_parse, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_base_url, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_37parse, 0, __pyx_n_s_parse, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__61);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_parse, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_parse, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1838
+ /* "src/lxml/lxml.objectify.pyx":1841
*
* cdef dict _DEFAULT_NSMAP = {
* "py" : PYTYPE_NAMESPACE, # <<<<<<<<<<<<<<
* "xsi" : XML_SCHEMA_INSTANCE_NS,
* "xsd" : XML_SCHEMA_NS
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_py_2, __pyx_v_4lxml_9objectify_PYTYPE_NAMESPACE) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_py_2, __pyx_v_4lxml_9objectify_PYTYPE_NAMESPACE) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1839
+ /* "src/lxml/lxml.objectify.pyx":1842
* cdef dict _DEFAULT_NSMAP = {
* "py" : PYTYPE_NAMESPACE,
* "xsi" : XML_SCHEMA_INSTANCE_NS, # <<<<<<<<<<<<<<
* "xsd" : XML_SCHEMA_NS
* }
*/
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xsi_2, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_NS) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xsi_2, __pyx_v_4lxml_9objectify_XML_SCHEMA_INSTANCE_NS) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- /* "src/lxml/lxml.objectify.pyx":1841
+ /* "src/lxml/lxml.objectify.pyx":1844
* "xsi" : XML_SCHEMA_INSTANCE_NS,
* "xsd" : XML_SCHEMA_NS
* } # <<<<<<<<<<<<<<
*
* E = ElementMaker()
*/
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xsd, __pyx_v_4lxml_9objectify_XML_SCHEMA_NS) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_xsd, __pyx_v_4lxml_9objectify_XML_SCHEMA_NS) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_XGOTREF(__pyx_v_4lxml_9objectify__DEFAULT_NSMAP);
__Pyx_DECREF_SET(__pyx_v_4lxml_9objectify__DEFAULT_NSMAP, ((PyObject*)__pyx_t_1));
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1843
+ /* "src/lxml/lxml.objectify.pyx":1846
* }
*
* E = ElementMaker() # <<<<<<<<<<<<<<
*
* def Element(_tag, attrib=None, nsmap=None, *, _pytype=None, **_attributes):
*/
- __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_ElementMaker), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4lxml_9objectify_ElementMaker), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_E, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_E, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- /* "src/lxml/lxml.objectify.pyx":1845
+ /* "src/lxml/lxml.objectify.pyx":1848
* E = ElementMaker()
*
* def Element(_tag, attrib=None, nsmap=None, *, _pytype=None, **_attributes): # <<<<<<<<<<<<<<
* u"""Element(_tag, attrib=None, nsmap=None, _pytype=None, **_attributes)
*
*/
- __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
- if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pytype_2, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_39Element, 0, __pyx_n_s_Element, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pytype_2, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_39Element, 0, __pyx_n_s_Element, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__64);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_4, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_Element, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_Element, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- /* "src/lxml/lxml.objectify.pyx":1865
+ /* "src/lxml/lxml.objectify.pyx":1868
* return _makeElement(_tag, None, _attributes, nsmap)
*
* def DataElement(_value, attrib=None, nsmap=None, *, _pytype=None, _xsi=None, # <<<<<<<<<<<<<<
* **_attributes):
* u"""DataElement(_value, attrib=None, nsmap=None, _pytype=None, _xsi=None, **_attributes)
*/
- __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pytype_2, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_xsi_3, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_41DataElement, 0, __pyx_n_s_DataElement, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pytype_2, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_xsi_3, ((PyObject *)Py_None)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4lxml_9objectify_41DataElement, 0, __pyx_n_s_DataElement, NULL, __pyx_n_s_lxml_objectify, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__67);
__Pyx_CyFunction_SetDefaultsKwDict(__pyx_t_1, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_DataElement, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1865; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_DataElement, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "src/lxml/objectpath.pxi":10
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (int) 0;
- case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, -(sdigit) digits[0])
+ case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0])
case -2:
if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (long) 0;
- case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, -(sdigit) digits[0])
+ case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0])
case -2:
if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
u"""PyType(self, name, type_check, type_class, stringify=None)
User defined type.
- Named type that contains a type check function and a type class that
- inherits from ObjectifiedDataElement. The type check must take a string
- as argument and raise ValueError or TypeError if it cannot handle the
- string value. It may be None in which case it is not considered for type
- guessing.
+ Named type that contains a type check function, a type class that
+ inherits from ObjectifiedDataElement and an optional "stringification"
+ function. The type check must take a string as argument and raise
+ ValueError or TypeError if it cannot handle the string value. It may be
+ None in which case it is not considered for type guessing. For registered
+ named types, the 'stringify' function (or unicode() if None) is used to
+ convert a Python object with type name 'name' to the string representation
+ stored in the XML tree.
Example::
pytype = PyType(u'long', None, IntElement)
pytype.register()
- pytype = PyType(u'float', float, FloatElement)
+ pytype = PyType(u'float', float, FloatElement, repr)
pytype.xmlSchemaTypes = (u"double", u"float")
pytype.register()
if doc_ref is not None:
if doc_ref._type == PARSER_DATA_STRING:
data = doc_ref._data_bytes
+ filename = doc_ref._filename
+ if not filename:
+ filename = None
+ elif not isinstance(filename, bytes):
+ # most likely a text URL
+ filename = filename.encode('utf8')
+ if not isinstance(filename, bytes):
+ filename = None
+
c_input = xmlparser.xmlNewInputStream(c_context)
if c_input is not NULL:
+ if filename is not None:
+ c_input.filename = <char *>tree.xmlStrdup(_xcstr(filename))
c_input.base = _xcstr(data)
c_input.length = python.PyBytes_GET_SIZE(data)
c_input.cur = c_input.base
)
cdef class XMLParser(_FeedParser):
- u"""XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, XMLSchema schema=None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
+ u"""XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema: XMLSchema =None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
The XML parser.
cdef class HTMLParser(_FeedParser):
u"""HTMLParser(self, encoding=None, remove_blank_text=False, \
remove_comments=False, remove_pis=False, strip_cdata=True, \
- no_network=True, target=None, XMLSchema schema=None, \
+ no_network=True, target=None, schema: XMLSchema =None, \
recover=True, compact=True)
The HTML parser.
value = objectify.DataElement(5.5)
self.assertEqual(hash(value), hash(5.5))
+ def test_type_float_precision(self):
+ # test not losing precision by shortened float str() value
+ # repr(2.305064300557): '2.305064300557'
+ # str(2.305064300557): '2.30506430056'
+ # "%57.54f" % 2.305064300557:
+ # ' 2.305064300556999956626214043353684246540069580078125000'
+ Element = self.Element
+ root = Element("{objectified}root")
+ s = "2.305064300557"
+ root.f = float(s)
+ self.assertTrue(isinstance(root.f, objectify.FloatElement))
+ self.assertEqual(root.f.text, s)
+ self.assertEqual(root.f.pyval, float(s))
+
+ def test_type_float_instantiation_precision(self):
+ # test precision preservation for FloatElement instantiation
+ s = "2.305064300557"
+ self.assertEqual(objectify.FloatElement(s), float(s))
+
+ def test_type_float_precision_consistency(self):
+ # test consistent FloatElement values for the different instantiation
+ # possibilities
+ Element = self.Element
+ root = Element("{objectified}root")
+ s = "2.305064300557"
+ f = float(s)
+ float_elem = objectify.FloatElement(s)
+ float_data_elem = objectify.DataElement(f)
+ root.float_child = float(f)
+ self.assertTrue(f == float_elem == float_data_elem == root.float_child)
+
+ def test_data_element_float_precision(self):
+ # test not losing precision by shortened float str() value
+ f = 2305064300557.0
+ value = objectify.DataElement(f)
+ self.assertTrue(isinstance(value, objectify.FloatElement))
+ self.assertEqual(value, f)
+
+ def test_data_element_float_hash_repr(self):
+ # test not losing precision by shortened float str() value
+ f = 2305064300557.0
+ value = objectify.DataElement(f)
+ self.assertEqual(hash(value), hash(f))
+
def test_data_element_xsitypes(self):
for xsi, objclass in xsitype2objclass.items():
# 1 is a valid value for all ObjectifiedDataElement classes
def test_xslt_input_none(self):
self.assertRaises(TypeError, etree.XSLT, None)
- if False and etree.LIBXSLT_VERSION >= (1,1,15):
- # earlier versions generate no error
- if etree.LIBXSLT_VERSION > (1,1,17):
- def test_xslt_invalid_stylesheet(self):
- style = self.parse('''\
+ def test_xslt_invalid_stylesheet(self):
+ style = self.parse('''\
<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:stylesheet />
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:stylesheet />
</xsl:stylesheet>''')
- self.assertRaises(
- etree.XSLTParseError, etree.XSLT, style)
-
+ self.assertRaises(
+ etree.XSLTParseError, etree.XSLT, style)
+
def test_xslt_copy(self):
tree = self.parse('<a><b>B</b><c>C</c></a>')
style = self.parse('''\
self.assertRaises(etree.XSLTParseError,
etree.XSLT, style)
+ exc = None
+ try:
+ etree.XSLT(style)
+ except etree.XSLTParseError as e:
+ exc = e
+ else:
+ self.assertFalse(True, "XSLT processing should have failed but didn't")
+ self.assertTrue(exc is not None)
+ self.assertTrue(len(exc.error_log))
+ for error in exc.error_log:
+ self.assertTrue(':ERROR:XSLT:' in str(error))
+
def test_xslt_parameters(self):
tree = self.parse('<a><b>B</b><c>C</c></a>')
style = self.parse('''\
res = self.assertRaises(etree.XSLTApplyError,
st, tree, bar="....")
- if etree.LIBXSLT_VERSION < (1,1,18):
- # later versions produce no error
- def test_xslt_parameter_missing(self):
- # apply() without needed parameter will lead to XSLTApplyError
- tree = self.parse('<a><b>B</b><c>C</c></a>')
- style = self.parse('''\
+ def test_xslt_parameter_missing(self):
+ # apply() without needed parameter will lead to XSLTApplyError
+ tree = self.parse('<a><b>B</b><c>C</c></a>')
+ style = self.parse('''\
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
</xsl:template>
</xsl:stylesheet>''')
- st = etree.XSLT(style)
- self.assertRaises(etree.XSLTApplyError,
- st.apply, tree)
+ st = etree.XSLT(style)
+ # at least libxslt 1.1.28 produces this error, earlier ones (e.g. 1.1.18) might not ...
+ self.assertRaises(etree.XSLTApplyError, st.apply, tree)
def test_xslt_multiple_parameters(self):
tree = self.parse('<a><b>B</b><c>C</c></a>')
</xsl:template>
</xsl:stylesheet>
"""))
- self.assertRaises(etree.XSLTApplyError, xslt, etree.XML('<a/>'))
+
+ errors = None
+ try:
+ xslt(etree.XML('<a/>'))
+ except etree.XSLTApplyError as exc:
+ errors = exc.error_log
+ else:
+ self.assertFalse(True, "XSLT processing should have failed but didn't")
+
+ self.assertTrue(len(errors))
+ for error in errors:
+ if ':ERROR:XSLT:' in str(error):
+ break
+ else:
+ self.assertFalse(True, 'No XSLT errors found in error log:\n%s' % errors)
def test_xslt_document_XML_resolver(self):
# make sure document('') works when custom resolvers are in use
''',
str(res))
- if etree.LIBXSLT_VERSION >= (1,1,21):
- def test_exslt_str_attribute_replace(self):
- tree = self.parse('<a><b>B</b><c>C</c></a>')
- style = self.parse('''\
- <xsl:stylesheet version = "1.0"
- xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
- xmlns:str="http://exslt.org/strings"
- extension-element-prefixes="str">
+ def test_exslt_str_attribute_replace(self):
+ tree = self.parse('<a><b>B</b><c>C</c></a>')
+ style = self.parse('''\
+ <xsl:stylesheet version = "1.0"
+ xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
+ xmlns:str="http://exslt.org/strings"
+ extension-element-prefixes="str">
- <xsl:template match="/">
- <h1 class="{str:replace('abc', 'b', 'x')}">test</h1>
- </xsl:template>
+ <xsl:template match="/">
+ <h1 class="{str:replace('abc', 'b', 'x')}">test</h1>
+ </xsl:template>
- </xsl:stylesheet>''')
+ </xsl:stylesheet>''')
- st = etree.XSLT(style)
- res = st(tree)
- self.assertEqual('''\
+ st = etree.XSLT(style)
+ res = st(tree)
+ self.assertEqual(str(res), '''\
<?xml version="1.0"?>
<h1 class="axc">test</h1>
-''',
- str(res))
+''')
def test_exslt_math(self):
tree = self.parse('<a><b>B</b><c>C</c></a>')
"""
return self.filter_from_level(ErrorLevels.WARNING)
+
@cython.final
@cython.internal
cdef class _ErrorLogContext:
"""
cdef xmlerror.xmlStructuredErrorFunc old_error_func
cdef void* old_error_context
+ cdef xmlerror.xmlGenericErrorFunc old_xslt_error_func
+ cdef void* old_xslt_error_context
+
cdef class _ErrorLog(_ListErrorLog):
cdef list _logContexts
cdef _ErrorLogContext context = _ErrorLogContext.__new__(_ErrorLogContext)
context.old_error_func = xmlerror.xmlStructuredError
context.old_error_context = xmlerror.xmlStructuredErrorContext
+ context.old_xslt_error_func = xslt.xsltGenericError
+ context.old_xslt_error_context = xslt.xsltGenericErrorContext
self._logContexts.append(context)
xmlerror.xmlSetStructuredErrorFunc(
<void*>self, <xmlerror.xmlStructuredErrorFunc>_receiveError)
+ xslt.xsltSetGenericErrorFunc(
+ <void*>self, <xmlerror.xmlGenericErrorFunc>_receiveXSLTError)
return 0
@cython.final
cdef int disconnect(self) except -1:
cdef _ErrorLogContext context = self._logContexts.pop()
+ xslt.xsltSetGenericErrorFunc(
+ context.old_xslt_error_context, context.old_xslt_error_func)
xmlerror.xmlSetStructuredErrorFunc(
context.old_error_context, context.old_error_func)
return 0